WebベースのpgAdmin4も一緒に起動すると便利かと思います。
同時起動する方法を記録しておこうと思います。
※18.11.16追記:日本語モードに対応した、新しい記事が御座います。宜しければこちらを御覧ください。
以下、古い英語モードの内容となります。
PostgreSQL, pgAdmin4同時起動docker-compose.yaml
次のようなdocker-compose.yamlファイルを作成しました。
※19.7.13:pgadminの設定が保存されるように、volumesを変更しました。
1 2 3 |
mkdir -p docker/postgresql cd docker/postgresql vi docker-compose.yaml |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
version: '2' services: db: image: postgres volumes: - ./postgresql:/var/lib/postgresql ports: - "5432:5432" environment: POSTGRES_USER: <PostgreSQLユーザ名> POSTGRES_PASSWORD: <PostgreSQLパスワード> POSTGRES_DB: <PostgreSQLデータベース名> adm: image: dpage/pgadmin4 volumes: - ./pgadmin:/var/lib/pgadmin # - ./pgadmin:/var/lib/pgadmin/storage ports: - "80:80" - "443:443" environment: PGADMIN_DEFAULT_EMAIL: <pgAdminユーザ名> PGADMIN_DEFAULT_PASSWORD: <pgAdminパスワード> |
docker-composeを起動します。
1 |
docker-compose up -d |
イメージがダウンロードされて、PostgreSQLがTCPポート番号5432、pgAdmin4がポート番号80で起動します。
WebブラウザでpgAdmin4にアクセスします。日本語表示も問題無いようです。
pgAdmin4から、docker-compose.yamlに記入したPostgreSQLユーザとパスワードで、PostgreSQLサーバへアクセスすることができました。
pgAdminからデータベースのバックアップを行った場合、pgadminディレクトリにデータが保存されるかと思います。
※18.11.15追記:使用するpostgresqlイメージのバージョンによって、docker-compose.ymlファイルの6行目のvolumesを「/var/lib/postgresql/data」に変更しないと、うまくデータが永続化されない場合があるようです。本格的に使用する前に、テーブルを作成→「docker-compose down」→「docker-compose up」で再起動後、ちゃんとテーブルがあるか確認することをお勧め致します。