簡単な手順#
-
Docker をインストールし、Docker のインストールと基本的な使用方法を参照するか、百度で解決方法を検索してください。
-
PostgreSQL の Docker イメージを取得します:
docker pull postgres
- Docker ボリュームを作成し、名前を「dv_pgdata」とします(実際には手動で作成する必要はありません。次のステップに進んでも Docker が自動的に作成します):
docker volume create dv_pgdata
- コンテナを起動し、-v オプションを使用して postgres のデータディレクトリを作成した dv_pgdata にマッピングします:
docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=xxxxxx -p 5432:5432 -d postgres
- この時点で既存の Docker ボリュームを確認します:
docker volume ls
- ボリュームの情報を表示します:
cn2d6@navxin-desktop:~$ docker inspect dv_pgdata
- ホストマシン上で、ボリュームの内容を直接表示することもできます:
cn2d6@navxin-desktop:~$ cd /var/lib/docker/volumes/dv_pgdata/_data
cn2d6@navxin-desktop:~$ ll
- PostgreSQL を確認します:
cn2d6@navxin-desktop:~$docker exec -it 618 bash
root@618f1a4128ee:/# psql -U postgres -d postgres -p 5432 -h 127.0.0.1
- より多くの場合、データベースを管理および操作するためにグラフィカルユーザインターフェースを使用したい場合は、pgadmin ツールをデプロイすることができます(以下の例)。その後、ブラウザでホストマシンの 5080 ポートにアクセスすると、pgadmin が開きます。
docker pull dpage/pgadmin4
docker run --name pgadmin -p 5080:80 \
-e '[email protected]' \
-e 'PGADMIN_DEFAULT_PASSWORD=xxxxxx' \
-e 'PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True' \
-e 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"' \
-e 'PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10' \
-d dpage/pgadmin4
docker-compose を使用して postgresql と pgAdmin4 をデプロイする#
準備手順#
docker-compose をインストールします
apt install docker-compose
postgres と pgAdmin4 のイメージを pull していることを確認します。まだ pull していない場合は、以下を実行します:
docker pull postgres
docker pull dpage/pgadmin4
設定内容#
次に、任意のディレクトリで docker-compose.yml というファイルを作成します:
touch ./docker-compose.yml
以下の内容を追加します:
# postgres/exampleのユーザー/パスワードの資格情報を使用します
# https://hub.docker.com/_/postgres?tab=description
# 現在のディレクトリで実行:sudo docker-compose up -d
# 実行を停止する場合は、現在のディレクトリで実行:sudo docker-compose down
# dockerルーティングアドレスの確認: sudo docker inspect postgres_baicai
# sudo docker kill $(sudo docker ps -aq)
# sudo docker rm $(sudo docker ps -aq)
version: '3.1'
services:
db:
image: postgres
restart: always
privileged: true
container_name: postgres_baicai
ports:
- 5432:5432
environment:
POSTGRES_PASSWORD: あなたのパスワード
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- /navxin/kn1/baicai_docker/baicai_postgres/pg_data:/var/lib/postgresql/data
# - pgdata:/var/lib/postgresql/data
pgadmin4:
image: dpage/pgadmin4
restart: always
container_name: pgadmin_baicai
ports:
- 5080:80
environment:
PGADMIN_DEFAULT_EMAIL: "[email protected]"
PGADMIN_DEFAULT_PASSWORD: あなたのパスワード
# volumes:
# pgdata:
デプロイ#
現在のディレクトリで以下を実行します:
docker-compose up -d
実行を停止する場合は、現在のディレクトリで以下を実行します:
docker-compose down
接続手順
ブラウザを開き、localhost:5080 を入力し、pgAdmin4 にログインした後、新しいサーバーを追加します。特に注意する点として、接続アドレスの IP には docker ルーティングアドレスを入力し、ポートには 5432 を入力します。
docker ルーティングアドレスの確認方法
docker inspect postgres_baicai
出力内容から Gateway を見つけ、それに対応するアドレスが docker ルーティングアドレスです。