在EC2上设置Docker Swarm

一切运行在单个AWS EC2 amz实例上。 没有docker机器,没有额外的VM,VirtualBox。

Docker守护进程就像这样运行

ps aux | grep docker ... /usr/bin/docker -d -H tcp://0.0.0.0:2375 

我正在执行:

 sudo docker -H localhost:2375 run -d swarm join --addr=52.18.134.9:12375 token://52b27cb0a8187bfb358a35a4fdbf8922 sudo docker -H localhost:2375 run -d -p 12375:2375 swarm manage token://52b27cb0a8187bfb358a35a4fdbf8922 sudo docker -H localhost:2375 ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 16f93309d6c7 swarm:latest "/swarm join --addr= 13 seconds ago Up 13 seconds 2375/tcp lonely_babbage c6a0e4e69bd2 swarm:latest "/swarm manage token 6 minutes ago Up 6 minutes 0.0.0.0:12375->2375/tcp sleepy_wright sudo docker -H localhost:12375 info ... Nodes: 0 ... 

🙁

https://docs.docker.com/swarm/install-manual/还不够清楚,swarm_port,manager_port没有完全指定。 我的意思是,我有点理解,但我无法得到它的工作(显然)。

(是的,港口12375,22和2375是从外面打开的,但这不应该在这里)

swarm连接需要docker守护进程的ip:port,而不是swarm manager。 所以在你的情况下,我想第一行应该是

 sudo docker -H localhost:2375 run -d swarm join --addr=52.18.134.9:2375 token://52b27cb0a8187bfb358a35a4fdbf8922