t8.dev

🇺🇸

Postgres SQLのdockerfileを作る

公開日:2021/11/08
更新日:

1. dockerfileを作る

心理学を使ったTODOアプリを開発している、@takasqrです。

心理学を使ったTODOアプリ | todo8

心理学を使ったTODOアプリ | todo8

SQL Serverのdockerfileを作ります。

FROM postgres

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

関連記事

Dockerのcpでホストとコンテナ間でのファイルコピー
DockerfileのCOPYでファイルやディレクトリごとコンテナにコピーする
【dockerfile】echoを使ってテキストファイルに複数行追記する
dockerfileのenvを使って環境変数を渡す【ARGとの違いも説明する】
WordPress用のmysql(5.7)をdockerfileで作る
sqlserverのdockerfileを作る
Docker execでコンテナ外からコマンドを実行する
Dockerのイメージ一覧をコマンドで表示する【images】
Dockerのコンテナが起動しない時に見るページ
DockerのpsでCOMMANDを省略しないで表示する
Dockerで不要になったimageやcontainerを一括削除【system prune】

オススメ記事

5年間ほぼ毎日プログラミングの勉強をするためにやったこと
論文と本から学ぶ、プログラミング独学のコツ
目標達成率を高める if thenプランニングとは!?【本とアプリも紹介】