postgresql - 如何从外部 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”,但这没有帮助。
解决方案
在这里回答了我自己的问题 - 通过阻止 PgAdmin 运行(我猜这会阻塞 5432 端口),CLI 和 PyCharm 可以访问容器化的 postgres 服务
推荐阅读
- php - 使用更新方法时,Laravel 加密无法加密到数据库
- mysql - mysql读取查询真的很慢。在这种情况下有什么问题?
- flutter - audio_service 颤振包未启动
- javascript - 如何在同一行获得 4 张卡目前我连续有 2 张卡
- java - 使用单个 UDP 套接字从 Java 中的不同线程读取/写入是否安全
- angular - Cloudinary 的上传小部件 v2 中的多个文件问题
- r - 如何按填充颜色对 ggplot2 中的条形图进行分组,同时保持降序?
- php - UNISERVER 严格表
- php - 错误:您的要求无法解析为一组可安装的软件包
- github - 有没有办法自动要求 PR 作者从分支/叉子中删除文件夹?