根据我对 docker compose / fig 的理解,如果您不想将端口暴露给其他人,那么在两个服务/图像之间创建链接是主要原因之一。
像这里db不公开任何端口,只链接:
web:
build: .
links:
- db
ports:
- "8000:8000"
db:
image: postgres
web是否认为db在其本地主机上运行?我会从网络中的脚本/程序连接到 localhost:5432(来自 postgresql 的标准端口)以获取数据库连接吗?
如果这是正确的,您如何将端口 5432 更改为 6432 而不暴露?我会在不同的端口上运行 postgresql 吗?
更新:
一些输入后有用的链接: