0

一切都在单个 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 是从外部打开的,但这在这里不重要)

4

1 回答 1

1

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

sudo docker -H localhost:2375 run -d swarm join --addr=52.18.134.9:2375 token://52b27cb0a8187bfb358a35a4fdbf8922
于 2015-08-31T17:46:06.583 回答