如何在浮动 IP 后面使用 docker 群模式管理器

How can I use a docker swarm mode manager behind a floating IP

一些供应商,例如 ScaleWay 会给你的服务器一个 IP,这个 IP 没有连接到盒子上的本地接口。

# docker swarm init --advertise-addr <my-external-ip>:2377 --listen-addr 0.0.0.0:2377
Error response from daemon: must specify a listening address
because the address to advertise is not recognized as a system address

同时

# docker swarm init --advertise-addr eth0:2377

将公布一个私有 IP 地址。

如何在这样的环境中设置 docker swarm?

在将非系统 IP Address 绑定为 docker 1.12.5 时,本机 swarm mode 存在问题。出现了多个 github 个问题,但问题仍然存在。

定义非系统 IP AddressIP AddressesDNAT 等技术一起使用。这些 IP Addresses 未在本地界面上设置并且对底层操作系统可见。

来源:link1, link2, link3.