簡體   English   中英

無法從pgAdmin連接到Postgres容器

[英]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中使用的數據庫憑據:

pgAdmin的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM