docker 建立跨主机网络

建立跨主机网络

(在192.168.89.133上)

在创建 Overlay 网络时,我们要加入 --attachable 选项以便不同机器上的 Docker 容器能够正常使用到它。

在创建了这个网络之后,我们可以在任何一个加入到集群的 Docker 实例上使用 docker network ls 查看一下其下的网络列表。我们会发现这个网络定义已经同步到了所有集群中的节点上。

docker network create --driver overlay --attachable mongodbs

 

从机加入集群

从机加入网络134,137执行

[root@localhost ~]# docker swarm join --token SWMTKN-1-4spky515ga3185jcq2sbelzgw3gkqqp1tj40bc8wqijc2byaxi-bblb42s2fbuz78c51wb41htp0 192.168.89.133:2377

This node joined a swarm as a manager.==表示加入成功

查看网络信息

应该能看到133上创建的网络mongodbs

docker network list

 

在其他机器执行上面生成的加入docker集群命令错误提示:

服务器时间不一致导致问题。

[root@localhost ~]# docker swarm join --token SWMTKN-1-62ax8v7r4fo7trjo133aaqely0wf3p6toxvhew1nvz450lb620-44490y0x4en8rtgzvadibq8rx 192.168.89.133:2377

Error response from daemon: error while validating Root CA Certificate: x509: certificate has expired or is not yet valid

解决

原理:docker swarm node之间是加密传输,docker swarm init时会创建CA证书。这里提示证书过期,可能是主机当前时间不对。

 

解决:sudo ntpdate time.nist.gov 同步一下时间(确保安装了ntpdate 命令)

 

上一篇:Swarm小课堂:流量奖励机制


下一篇:swarm节点异常,删除重新加入主节点