我有三个docker容器,都需要访问端口5432上的postgres。独立运行我可以通过-p 5432:5432
但我不能一次运行两个或更多因为它们冲突。
我希望用docker compose解决这个问题,但我需要指导如何在yml中进行端口映射。
这就是我所拥有的,这是行不通的:
version: '2'
services:
foo:
image: mynamespace/foo
ports:
- "5432:5432"
bar:
image: mynamespace/bar
ports:
- "5432:5432"
baz:
image: mynamespace/baz
ports:
- "5432:5432"
答案 0 :(得分:1)
您无需在每个容器上打开端口。您只需为数据库容器打开它。结果是这样的:
version: '2'
services:
foo:
image: mynamespace/foo
bar:
image: mynamespace/bar
baz:
image: mynamespace/baz