首页 > 解决方案 > 如何从外部 CLI 连接到 Docker Postgres 容器?

问题描述

我正在运行我的 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”,但这没有帮助。

标签: postgresqldockerdocker-composedockerfiledocker-container

解决方案


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


推荐阅读