LoginSignup
1
1

More than 3 years have passed since last update.

初学者がDocker composeでPostgreSQLとpdAdmin4の環境を構築する

Posted at

概要

初学者がDocker composeを使って、PostgreSQLとpgAdmin4の環境を構築しました。とりあえず作成した環境なので、ボリュームのマウントなどは行っていません。

※Dockerのインストール等は既に完了しています。

docker-compose.ymlを作成

docker-compose.yml

version: '3'

services:
  db:
    image: postgres
    container_name: pg-docker
    ports:
      -  '5432:5432'
    environment:
        - 'POSTGRES_USER=postgres'
        - 'POSTGRES_PASSWORD=postgres'
        - 'POSTGRES_DB=pg_db'

  pgadmin4:
    image: dpage/pgadmin4
    container_name: pgadmin4
    ports:
      - '80:80'
    environment:
      - 'PGADMIN_DEFAULT_EMAIL=xxx@yyy.com'
      - 'PGADMIN_DEFAULT_PASSWORD=pga4_pw'

docker-compose.ymlを実行

デタッチモード: -dでdocker-composeを実行します。docker-compose upでbuildとrunが同時にできるので便利です。

$ docker-compose.yml up -d

コンテナの状態を確認

StateがUpになっていることを確認します。

$ docker-compose ps
  Name                Command              State              Ports
------------------------------------------------------------------------------
postgres   docker-entrypoint.sh postgres   Up      0.0.0.0:5432->5432/tcp
pgadmin4   /entrypoint.sh                  Up      443/tcp, 0.0.0.0:80->80/tcp

自分のIPアドレスを確認

色々な方法があると思いますが、とりあえず私はシステム環境設定からネットワークを開き、IPアドレスを確認しました。

ブラウザからpdAdmin4にアクセス

ブラウザを開き、IPアドレス:80にアクセスします(80番ポートは、docker-compose.ymlで設定)。タイプミスなどが無ければ、pdAdmin4のトップページが表示されると思います。

スクリーンショット 2021-02-21 21.14.20.png

ログインの情報はdocker-compose.ymlのpgadmin4のenvironmentに記述した内容を入力します。

サーバー(postgre)に接続

ログインが完了したら、右側のメニューからServersを右クリックし、Createにマウスポインターを合わせ、Server...を選択します。
スクリーンショット 2021-02-21 21.36.01.png

Create-Serverウィンドウが表示されるので、GeneralタブのNameにpd-dockerと入力します。一応、docker-compose.ymlで記述したcontainer-nameと合わせていますが、必要ないかもしれません。
スクリーンショット 2021-02-21 21.38.43.png

Connectionタブをクリックし、HostはPCのIPアドレス、Portは5432を入力します。Maintenance databaseとUsernameとPasswordは、docker-compose.ymlのenvironmentで設定した値を入力します。
スクリーンショット 2021-02-21 21.43.41.png

Saveボタンをクリックし、問題がなければ接続が完了します。
スクリーンショット 2021-02-21 21.46.07.png

注意点

冒頭にも書きましたが、ボリュームをマウントしていないのでコンテナがUpでなくなると(消すと?)、データベースも消えてしまうので運用する際は注意が必要です。

1
1
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
1
1