我在查找管理员应该使用哪个广告地址来进行以下设置时遇到了麻烦:
问题是,如果我docker swarm init
在主机上使用默认选项,我就无法使用上面返回的连接字符串让我的docker机器连接到这个swarm init
。
user@host$ docker swarm init
Swarm initialized: current node (9cv0khu88hdq7wsdqlzqpj7e0) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-2qx019269giy7jsnehqukpgjz9pqfe7ifprd0evcyi3ef1d699-7c1jig60by75lpuh5pjg5wuy8 192.168.65.2:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
user@host$ docker-machine ssh my-vm-1
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 17.10.0-ce, build HEAD : 34fe485 - Wed Oct 18 17:16:34 UTC 2017
Docker version 17.10.0-ce, build f4ffd25
docker@my-vm-1$ docker swarm join --token SWMTKN-1-2qx019269giy7jsnehqukpgjz9pqfe7ifprd0evcyi3ef1d699-7c1jig60by75lpuh5pjg5wuy8 192.168.65.2:2377
Error response from daemon: Timeout was reached before node joined. The attempt to join the swarm will continue in the background. Use the "docker info" command to see the current swarm status of your node.
好吧,这可能很愚蠢,希望它能够在没有任何选项的情况下工作,但是......我怎么知道我的群体管理器应该监听哪个接口?
感谢您的时间,祝您有愉快的一天
亚历克斯
脚注:我已在Docker 社区
答案1
根据您的设置,当您使用 docker-machine 创建 docker VM 时,您将拥有一个带有 192.168.99.1 IP 地址的新 vboxnet 接口:
7: vboxnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 0a:00:27:00:00:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.99.1/24 brd 192.168.99.255 scope global vboxnet1
valid_lft forever preferred_lft forever
在您的 docker-machine VM 中,该网络将在您的 eth1 接口中配置:
4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:f0:26:ac brd ff:ff:ff:ff:ff:ff
inet 192.168.99.100/24 brd 192.168.99.255 scope global eth1
该网络地址 192.168.99.0/24 是您可以用来将您的主机与 docker-machine VM 进行通信的地址。
在你的主机上,使用主机 IP 启动你的 Swarm:
docker swarm init --advertise-addr 192.168.99.1
然后在 docker-machine 中使用令牌加入集群:
docker swarm join --token SWMTKN-1-5rzst....4onvjsdpvnc23ya4tq7zdrjjw 192.168.99.1:2377
This node joined a swarm as a worker.
你的docker swarm将有两个节点。