[英]Can not connect to Postgres Container from pgAdmin
相關帖子:1) docker postgres pgadmin本地連接
2) https://coderwall.com/p/qsr3yq/postgresql-with-docker-on-os-x (在示例“名稱”條目中未填寫)
有兩種方法可以完成這項任務,我使用官方的postgres
方法1:
並運行它
sudo docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres
然后連接
Name: postgres
Host: localhost
Port: 5432
user
pass
...
方法2:
以。。開始
sudo docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
然后檢查容器的ip
sudo docker inspect
說結果
172.17.42.1
然后連接pgAdmin選項卡屬性填充信息
Name: postgres
Host: 172.17.42.1
Port: 5432
user
pass
...
由於您在docker docker run
語句中將容器上的端口5432映射到主機上的同一端口-p 5432:5432
,因此請嘗試將pgadmin連接到主機上的端口5432而不是容器。
我將它包含在docker yaml文件中以獲取數據庫和pgAdmin:
database:
image: postgres:10.4-alpine
container_name: kafka-nodejs-example-database
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
expose:
- "5432"
ports:
- 8000:5432
volumes:
- ./services/database/schema.sql:/docker-entrypoint-initdb.d/1-schema.sql
- ./services/database/seed.sql:/docker-entrypoint-initdb.d/2-seed.sql
pgadmin:
image: dpage/pgadmin4
ports:
- 5454:5454/tcp
environment:
- PGADMIN_DEFAULT_EMAIL=admin@mydomain.com
- PGADMIN_DEFAULT_PASSWORD=postgres
- PGADMIN_LISTEN_PORT=5454
postgres用戶名是alphaone,密碼是xxxxxxxxxxx。
做一個docker ps
來獲取容器id,然后docker inspect <dockerContainerId> | grep IPAddress
docker inspect <dockerContainerId> | grep IPAddress
例如: docker inspect 2f50fabe8a87 | grep IPAddress
docker inspect 2f50fabe8a87 | grep IPAddress
將Ip地址插入pgAdmin和docker中使用的數據庫憑據:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.