46
Help us understand the problem. What are the problem?

posted at

updated at

docker-composeでPostgreSQLの環境を作る

更新履歴

日付 内容
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
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
46
Help us understand the problem. What are the problem?