如何从外部 CLI 连接到 Docker Postgres 容器?

时间:2021-05-12 11:32:23

标签: postgresql docker docker-compose dockerfile docker-container

我的 Postgres 容器正在运行,它是从这个 docker-compose 文件构建的:

version: "3.9"

services:
    db:
        image: postgres
        volumes:
            - ./data/db:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            - POSTGRES_DB=db
            - POSTGRES_USER=postgres
            - POSTGRES_PASSWORD=password.

它运行良好,我的其他 dockerized 服务器可以连接到它。但是,如果我从 docker 实例外部打开 CLI 并尝试连接

psql postgres://postgres:password@localhost:5432/db

或者尝试在PyCharm中添加数据库连接,我得到

psql: error: could not connect to server: FATAL:  database "db" does not exist

作为回应。我需要做什么才能允许外部调用容器化数据库?我试过在 docker compose 中添加“expose:5432”,但这没有帮助。

1 个答案:

答案 0 :(得分:0)

在这里回答了我自己的问题 - 通过停止运行 PgAdmin,我猜这会阻止 5432 端口,CLI 和 PyCharm 可以访问容器化的 postgres 服务