Docker Swarm - 映射端口和缩放

Docker Swarm - Map ports and Scaling

我目前正在使用 Docker Engine 1.11,我正在研究是否可以转移到 Docker 1.12 并使用 Swarm。我目前正在使用 Docker 到 运行 50 多个 Bamboo 代理,所有这些代理都需要将端口映射到服务器上的端口。例如,每个 docker 容器都需要有可用的端口 4000,所以当我做 Docker 运行 时,我做 -

Docker run -p 10000:4000 myimg
Docker run -p 10001:4000 myimg
Docker run -p 10002:4000 myimg
Docker run -p 10003:4000 myimg

在 Docker Swarm 中,据我所知,我会 运行 以下命令将我的服务扩展到 50 个容器

docker service scale helloworld=5

但是,如果我这样做,那么它们都会尝试映射到同一个端口。我怎样才能做到这一点?可能吗?

不,你不能。

单端口映射多容器(服务发现)docker服务提供的一个关键功能

还有一个是当容器失败时,swarm 会启动一个新的。(自我修复)

我对 Bamboo 一无所知,所以我不能告诉你是否有办法 运行 bamboo 服务与 swarm 模式。