目的
现在手头有两个虚机,都内建了docker,但是在搭建consul的时候想试试其多dc的特性,所以就得保证两个docker能互相访问。
创建docker集群
默认已经分别安装docker,现在docker内置有swarm,直接使用就可以
两台虚机配置如下:
| VM-1 | VM-2 | |
|---|---|---|
| ip | 10.20.30.97 | 10.20.90.104 |
| 防火墙 | 关闭 | 关闭 |
| selinux | 关闭 | 关闭 |
docker版本:
1 | Client: |
初始化swarm
在VM-1上初始化,默认是manager节点
1 | [root@bogon consul]# docker swarm init |
然后将上面那个命令粘到VM-2执行
1 | [root@bogon consul]# docker swarm join --token SWMTKN-1-3ww9xfy1w8opdd5rcn0a3s4ye3s4evnllyki9kne7oo1dpi2ia-4z7mvmuni39wp2bya7u4cynt8 10.20.90.97:2377 |
添加成功后,就可以看到节点信息
1 | [root@bogon consul]# docker node ls |
创建overlay
到manager节点上创建attachable的overlay network,名字叫做prod-overlay,同时可以检查网络列表
1 | [root@bogon consul]# docker network create -d overlay --attachable prod-overlay |
此时在VM-2上是看不到这个网络的,执行完后面的命令会自动添加(?生成)进去
在VM-1上创建容器testc1,挂到prod-overlay network上:
1 | [root@bogon consul]# docker run --name testc1 --network prod-overlay -itd busybox |
在VM-2上创建容器testc2,挂到prod-overlay network上:
1 | [root@bogon consul]# docker run --name testc2 --network prod-overlay -itd busybox |
访问验证
查看VM-2docker的network,现在应该可以查看到了
1 | [root@bogon consul]# docker network ls |
互ping测试
VM-1pingVM-2
1 | [root@bogon consul]# docker exec testc1 ping -c 2 testc2 |
VM-2pingVM-1
1 | [root@bogon consul]# docker exec testc2 ping -c 2 testc1 |
参考资料
结束!🔚
