所有内容都在单个AWS EC2 amz实例上运行。没有docker-machine,没有额外的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从外面开放,但这不应该在这里)
答案 0 :(得分:1)
swarm连接需要docker守护程序的ip:port,而不是swarm管理器。 所以在你的情况下,我猜第一行应该是
sudo docker -H localhost:2375 run -d swarm join --addr=52.18.134.9:2375 token://52b27cb0a8187bfb358a35a4fdbf8922