无法通过 postico 连接到 postgreSQL docker 容器

Cannot connect to postgreSQL docker container via postico

我正在尝试使用 Postico 连接到本地计算机上的 docker postgreSQL 容器。

我已经尝试连接到 0.0.0.0、localhost 和 127.0.0.1。每个都给我以下错误:

could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

0.0.0.0 给了我一个类似但更小的错误:

could not connect to server: Connection refused
    Is the server running on host "0.0.0.0" and accepting
    TCP/IP connections on port 5432?

这是我的 docker-compose 文件:

version: '3'
services:
  prisma:
    image: prismagraphql/prisma:1.23
    restart: always
    ports:
    - "4466:4466"
    environment:
      PRISMA_CONFIG: |
        port: 4466
        databases:
          default:
            connector: postgres
            host: postgres
            port: 5432
            user: prisma
            password: prisma
            migrations: true
  postgres:
    image: postgres:10.5
    restart: always
    environment:
      POSTGRES_USER: prisma
      POSTGRES_PASSWORD: prisma
    volumes:
      - postgres:/var/lib/postgresql/data
volumes:
  postgres:

解决方案感谢 Egor! 我忘记在我的 docker-compose 文件中指定 ports: - "5432:5432"。新手错误 ;)

如果 postgres 版本无关紧要,请尝试将 Postgres 图像更改为这个图像,它适合我

还要确保在 docker-compose.yml

中添加端口
postgres:
    image: postgres
    restart: always
    environment:
      POSTGRES_USER: prisma
      POSTGRES_PASSWORD: prisma
    ports: 
     - "5432: 5432"
    volumes:
      - postgres:/var/lib/postgresql/data

P.s。刚刚更新了可读性的答案

我在使用 Postico 连接到 docker 容器中的 Postgres 数据库时也遇到了问题。

最终,我的问题是 我有一个本地 Postgres 数据库 运行

一旦我断开本地 Postgres 数据库,我就可以使用 Postico 连接到我的 docker 数据库。在主机设置为 localhost 的情况下,我使用了 POSTGRES_USERPOSTGRES_PASSWORD 和我的 docker-compose.yml 文件中定义的主机端口。