わしがPostgreSQLをDockerで使いたいときに使うイメージ。 以下自分用メモ。
pgconfig以下のファイルがコンテナビルド時に設定される。 設定ファイルを書き換えたい場合はビルド前にpgconfig以下の設定を変更してからビルドする。
コンテナ内でログが出力されるディレクトリ。 ログを永続化するにはvolumeで指定。 pg_logは自動でパーミッションを書き換えないので、アクセス権に注意。
postgres: build: postgres/ ports: - "5432:5432" volumes: - "/var/log/docker-postgres:/var/log/pg_log" - "/var/lib/docker-postgres:/var/lib/docker-postgres" environment: - POSTGRES_PASSWORD=postgres - PGDATA=/var/lib/docker-postgres
DBのpostgresユーザーのパスワード。デフォルト値postgres 初回起動時にこの値がpostgresユーザーのパスワードとして設定される。 2回目以後の起動では適応されないので手動で変更が必要。
コンテナ内のpostgresqlのdataディレクトリの場所を指定できる。 デフォルトは/var/lib/postgresql/data。 このディレクトリをvolumeで指定してコンテナ外に出せばデータを永続化できる。