2016-09-23 170 views
0

我通过部署docker守护进程并运行swarm相关容器(旧方法)来创建docker swarm。因为我在AWS云上部署它,所以我的监听IP地址和广告IP地址是不同的。目前这个功能只在docker swarm中,即提供--listen-addr和--advertise-addr。使用listen-addr与docker守护进程

我想问一下,docker守护进程是否有这样的功能?

回答

1

With dockerd您可以定义--ip=0.0.0.0这是容器在启动时默认监听的ip接口。默认的0.0.0.0对用户来说通常是正确的。

您还可以传递一个选项,如-H tcp://127.0.0.1:2375来侦听客户端连接的IP而不是默认的/var/run/docker.sock套接字(please use TLS if you listen on a public IP)。 Dockerd是客户端服务器应用程序的服务器的一半,但默认情况下,它不侦听任何IP接口。

广告addr完全不适用于dockerd,因为它没有任何部分连接到键/值存储以宣传它的位置,如Swarm。

+0

dockerd可能无法连接到键/值存储,但如果您运行swarm docker容器(在管理或加入模式下)使用此操作(sudo docker run -d -p 4000:4000 swarm manage -H:4000 --replication - -advertise 52.220.79.209:4000 consul://52.220.92.249:8500)command然后没有单独的选项--listen-addr和--advertise-addr。 –

+0

在基于容器的swarm场景中,listen addr被端口映射和-H标志暗示为swarm。所以在上面,swarm正在监听0.0.0.0:4000。 – BMitch