Docker中的PostgreSQL - 从主机

时间:2017-12-01 16:26:00

标签: postgresql docker

我一直试图访问在docker容器中运行的PostgreSQL。我能够从localhost:8080上的adminer中连接到PostgreSQL,这是另一个容器,但是我无法从我的主机连接,尽管我正在映射端口5432到主机。

作为容器连接的IP,我一直在使用从“docker inspect <postgre_container>”获取的IP地址 - 通常是172.21.0.2/3

这就是我的docker-compose.yml的样子:

version: '3.1'

services:
  db:
    image: postgres:9.6.0
    restart: always
    environment:
      POSTGRES_PASSWORD: root
      POSTGRES_USER: root
    ports:
      - "5432:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

volumes:
  pgdata:

我会很高兴任何提示,谢谢

1 个答案:

答案 0 :(得分:1)

使用docker inspect显示的IP地址是容器中的内部 IP地址。由于您使用外部端口5432进行端口映射,因此您应该通过localhost:5432(例如127.0.0.1:5432)访问Postgres。