WebベースのpgAdmin4も一緒に起動すると便利かと思います。
同時起動する方法を記録しておこうと思います。
※18.11.16追記:日本語モードに対応した、新しい記事が御座います。宜しければこちらを御覧ください。
以下、古い英語モードの内容となります。
PostgreSQL, pgAdmin4同時起動docker-compose.yaml
次のようなdocker-compose.yamlファイルを作成しました。
※19.7.13:pgadminの設定が保存されるように、volumesを変更しました。
mkdir -p docker/postgresql
cd docker/postgresql
vi docker-compose.yaml
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を起動します。
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」で再起動後、ちゃんとテーブルがあるか確認することをお勧め致します。