docker工人已经分配的端口

我有三个docker容器,都需要访问postgres在端口5432.独立运行我可以通过-p 5432:5432但我不能一次运行两个或更多,因为他们冲突。

我希望用docker撰写这个问题,但是我需要指导如何在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" 

您不需要打开每个容器上的端口。 你只需要打开它的数据库容器。 结果如下所示:

 version: '2' services: foo: image: mynamespace/foo bar: image: mynamespace/bar baz: image: mynamespace/baz