LoginSignup
60
51

More than 1 year has passed since last update.

docker-composeでPostgreSQLの環境を作る

Last updated at Posted at 2018-09-29

更新履歴

日付 内容
2021.08.14 記事の情報に一部追記
2018.09.29 初版

はじめに

やりたいこと

  • DockerでPostgreSQLを構築したい
  • DBviewerもDockerで構築したい -> pgAdmin 4
  • 起動したPostgreSQLに自動で初期データも突っ込みたい
  • docker-composeをGithubなどで他人(共同開発者)に公開したい

Qiitaマイルストーンで50LGTM突破したこの記事を紹介してもらいました :thumbsup:

2021年8月の最新バージョンで書き換えました。(ただしM1Macで未検証、おそらく動作しない

docker-compose

docker-compose.yml
  postgresql:
    image: postgres:13.4
    container_name: postgresql
    ports:
      - 5432:5432
    volumes:
      - ./postgres/init:/docker-entrypoint-initdb.d
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: root
      POSTGRES_INITDB_ARGS: "--encoding=UTF-8"
    hostname: postgres
    restart: always
    user: root

  pgadmin4:
    image: dpage/pgadmin4:5.6
    container_name: pgadmin4
    ports:
      - 80:80
    volumes:
      - ./pgadmin:/var/lib/pgadmin/storage
    environment:
      PGADMIN_DEFAULT_EMAIL: root
      PGADMIN_DEFAULT_PASSWORD: root
    hostname: pgadmin4
    restart: always

初期データセットアップ

/postgres/init配下にsqlファイルを放り込んでおくと、

postgres起動時に設定してくれる。

1_create.sql
/* DATABASEを作成 */
CREATE DATABASE pgtest;

pgAdmin 4

1.http://localhost/にアクセス
2.ログイン

設定
EmailAdress:root
Password:root
Language:japanese

3.サーバーを追加

設定
ホスト名/アドレス:postgresql
ポート番号:5432
データベースの管理:postgres
ユーザ名:root
60
51
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
51