开始部署
之前讲过Overlay网络,不在同一台机器也可以完成正常的通信。这里就通过overlay网络的方式。
- 创建overlay的网络
docker network create -d overlay demo
- 创建mysql
#等待了1个小时才安装好。真求慢
docker service create --name mysql --env MYSQL_ROOT_PASSWORD=root --env MYSQL_DATABASE=wordpress --network demo --mount type=volume,source=mysql-data,destination=/var/lib/mysql mysql:5.7
这里说明下,一开始我没加mysql的版本直接下载的laster版本其实是8.0结果老报无法连接,据说是加密问题,这个坑我填了,直接换成了5.7 完美运行
- 创建wordpress
#这个比较快,安装wordpress
docker service create --name wordpress -p 80:80 --env WORDPRESS_DB_PASSWORD=root --env WORDPRESS_DB_HOST=mysql --network demo wordpress
可以看出来 mysql在worker2机器上运行,wordpress在manager这个机器上运行
- 运行wordpress
发现一个问题:明明wordpress在manager这个机器上运行 也就是172.28.128.3这个机器,结果是172.28.128.5172.28.128.4172.28.128.3这3个地址都可以访问,这是为什么呢? 这个问题下次我来解答吧
- 直接我们在manager里面创建了network demo
现在看看worker1 和worker2 里面有没有这个demo
PS :不知道大家还有没有影响讲docker的多机网络的时候,多机的overlay网络的时候,使用的第三方的kv的外置的第三方的存储etcd。我们在用了swarm就不需要这个第三方了,整个这块是swarm自己来维护的,swarm的底层机制会同步网络的创建。最后对于所有的clus节点都可以可以访问service的wordpress的问题,下次在说吧。