なんだかGoodVibes

日々の勉強メモです。

【Docker】PostgreSQLの環境を作ってみる

こんにちは。
本日はDockerを使用してPostgreSQLの環境を作ってみます。

概要

PostgreSQL14の環境を作成する。


コンテナの作成

コンテナの起動は以下のコマンドで実行します。
docker container run オプション image

今回PostgreSQL14の環境なので、imageの部分はpostgres:14とします。

実際、PostgreSQL14のコンテナを起動するコマンドを以下に記載します。

$ docker container run -i -d -t -p 5432:5432 -e POSTGRES_DATABASE=mydb -e POSTGRES_USER=mydb -e POSTGRES_PASSWORD=postgres --mount type=bind,src=${PWD}/db-data,dst=/var/lib/postgresql/data --name db01 postgres:14


上記で使用したオプションについて記載します。

-i(--interactive) : 標準入力をオープンの状態にする
-d(--detach)      : コンテナをバックグラウンド実行する
-t(--tty)         : 擬似 TTY を割り当てる 
-p(--publish)     : ポートの設定
                    外部とコンテナ内部のポートを紐付ける
                    左が外部のポート、右がコンテナ内部のポート
-e(--env)         : 環境変数の設定
                    今回はPOSTGRES_DATABASE、POSTGRES_USER、POSTGRES_PASSWORDを設定
--mount           : コンテナのデータを指定の場所にマウント
                    typeにマウントの種類(bind、volume)、srcにマウント先、dstにマウント元を指定
--name            : コンテナの名称


コマンドを実行したら、以下のコマンドでコンテナができているか確認します。

$ docker container list

--nameで指定した名前のコンテナができているかと思います。


コンテナの基本操作

コンテナを操作する際、docker container listで表示される
CONTAINER IDもしくはNAMESが必要になります。

コンテナの起動
$ docker container start [CONTAINER ID もしくは NAMES]
コンテナにアクセス
$ docker container exec -it [CONTAINER ID もしくは NAMES] bash
コンテナの終了
$ docker container stop [CONTAINER ID もしくは NAMES]



以上です。