docker撰写已分配的端口

时间:2017-10-03 18:28:31

标签: postgresql docker docker-compose port portforwarding

我有三个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"

1 个答案:

答案 0 :(得分:1)

您无需在每个容器上打开端口。您只需为数据库容器打开它。结果是这样的:

version: '2'

services:
  foo:
    image: mynamespace/foo
  bar:
    image: mynamespace/bar
  baz:
    image: mynamespace/baz