PostgreSQLをMacのローカル環境でDockerコンテナで起動する

2024年1月13日

実行環境

  • macOS Mojave 10.14.6
  • Docker for Mac 2.1.0.4

PostgreSQLのコンテナを作成

ターミナルで以下のようにコマンドを実行する。以下の例ではPostgreSQL10のDockerイメージを使用している。

$ docker run --name PostgreSQL10 -v /Users/xxxxx/work/DockerTest/data:/var/lib/postgresql/data -p 5555:5432 -e POSTGRES_PASSWORD=postgres -d postgres:10

オプションの意味は以下の通り。

  • –name コンテナ名を指定する。
  • -v ボリュームマウントをを指定する。-v {ホスト側のパス}}:{コンテナ内のパス}で指定する。 PostgreSQLはデフォルトで /var/lib/postgresql/data にデータを格納する。PostgresSQLのデータを保存するためのホスト側のパスを指定する。
  • -p コンテナのポートをホストに公開する。上記にコマンドの場合、localhostの5555ポートがコンテナの5432にバインドされる。
  • -e 環境変数設定を指定する。環境変数POSTGRES_PASSWORDでデフォルトのスーパーユーザのpostgresのパスワードを指定する。
  • -d コンテナをバックグラウンドで動作させる。

作成したDockerコンテナの確認

以下のコマンドでコンテナ一覧を確認できる

$ docker ps -a

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                       PORTS                    NAMES

eaed715f5fa3        postgres:10           "docker-entrypoint.s…"   5 months ago        Up 26 hours                  0.0.0.0:5555->5432/tcp   PostgreSQL10

コンテナ起動とpsqlによる接続

以下のコマンドでコンテナ起動とPostgreSQLへpsqlによる接続ができる。

# コンテナ起動
$ docker start PostgreSQL10
# psqlでログイン
$ docker exec -it PostgreSQL10 psql -U postgres

参照情報

PostgreSQL

Posted by fanfanta