シェル(@takasqr)のブログ

Postgres SQLのdockerfileを作る

1. dockerfileを作る

Postgres SQLのdockerfileを作る方法を紹介します。

SQL Serverのdockerfileを作ります。

FROM postgres

この記事を書いた人

@takasqr アプリケーション開発が大好きなエンジニア。Vue、Swift、Electrom などでアプリを作って公開している。AWS や Firebase などのクラウドサービスも好き。

作ったアプリKeyScript

2. dockerfileをビルドする

dockerfileビルドする。

docker build -t postgres-custom-image:0.1 .
  • 0.1パージョン番号
  • postgres-custom-imageイメージ名

3. 作ったイメージのコンテナを作る

Postgres SQLのコンテナをビルドします。 環境変数の部分は読み替えて下さい。

docker run -e "POSTGRES_PASSWORD=P@ssw0rd" -e "POSTGRES_USER=postgres" -e "POSTGRES_DB=testdb" \
   --name postgres-custom-container \
   -p 5432:5432 \
   -d postgres-custom-image:0.1
  • POSTGRES_PASSWORDSQL Serverのパスワード
  • postgres-custom-image先ほどビルドしたイメージを指定

4. 作ったコンテナに接続する

docker exec -it postgres-custom-container bash

5. postgresに接続する

su postgres
psql testdb

postgresに接続できました。

psql (14.0 (Debian 14.0-1.pgdg110+1))
Type "help" for help.

testdb=# 
testdb=# 

6. テーブル作成

CREATE TABLE Inventory (id INT, name VARCHAR(50), quantity INT)
testdb=# CREATE TABLE Inventory (id INT, name VARCHAR(50), quantity INT)
;
CREATE TABLE

7. サンプルデータINSERT

INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
testdb=# INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
INSERT 0 1

8. サンプルデータSELECT

SELECT * FROM Inventory WHERE quantity > 152;
testdb=# SELECT * FROM Inventory WHERE quantity > 152;
 id |  name  | quantity 
----+--------+----------
  2 | orange |      154
(1 row)

8. postgres接続解除

exit