在EC2上设置Docker Swarm

时间:2015-08-31 12:38:28

标签: amazon-ec2 docker docker-swarm

所有内容都在单个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从外面开放,但这不应该在这里)

1 个答案:

答案 0 :(得分:1)

swarm连接需要docker守护程序的ip:port,而不是swarm管理器。 所以在你的情况下,我猜第一行应该是

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