zukucode
主にWEB関連の情報を技術メモとして発信しています。

Docker PostrgeSQLのコンテナを作成する

DockerPostrgeSQLのコンテナを作成します。

Dockerfileの作成

以下のDockerfileを作成します。

FROM postgres:13.1

RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8
ENV LANG ja_JP.utf8

PostgreSQLの公式イメージをベースイメージとし、日本語化の設定を行っています。

docker-compose.ymlの修正

docker-compose.ymlに、上記のイメージを起動するように追記します。

DBのデータは永続化したいので、dbdataという名前でボリュームを作成し、コンテナ内のDBデータと紐づけています。

また、ユーザー名、パスワード、DB名の設定を行っています。値は適宜変更してください。

docker-compose.yml
version: "3.2"
services:
  db:
    build: ./docker/db
    environment:
      POSTGRES_USER: docker_user
      POSTGRES_PASSWORD: docker_pass
      POSTGRES_DB: docker_db
      PGDATA: /var/lib/postgresql/data/pgdata
      TZ: Asia/Tokyo
    volumes:
      - dbdata:/var/lib/postgresql/data
volumes:
  dbdata:

以上で設定は完了です。

動作確認

以下のコマンドで、コンテナを起動します。

$ docker compose up

データベースシステムの接続受け付け準備が整いましたのメッセージが出力され、PostgreSQLのコンテナが起動していることを確認できます。


関連記事