『中级篇』在docker-swarm集群里通过serivce部署wordpress(46)
2018-09-30 09:55:26
李明
  • 访问次数: 379
  • 注册日期: 2018-07-09
  • 最后登录: 2020-03-30

原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
原文链接地址: 『中级篇』在docker-swarm集群里通过serivce部署wordpress(46)

上一节说到了docker-swarm的service,创建和操作。scale 进行横向扩展。之前通过docker-compose也部署过,本次就在docker-swarm下部署wordpress。

开始部署

之前讲过Overlay网络,不在同一台机器也可以完成正常的通信。这里就通过overlay网络的方式。

  • 创建overlay的网络

 docker network create -d overlay demo

166282f0ec0652d3?w=1205&h=270&f=png&s=15

  • 创建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 完美运行

166282f0ec04729b?w=1240&h=202&f=png&s=31
166282f0ebe6aa38?w=1240&h=256&f=png&s=19

  • 创建wordpress

#这个比较快,安装wordpress docker service create --name wordpress -p 80:80 --env WORDPRESS_DB_PASSWORD=root --env WORDPRESS_DB_HOST=mysql --network demo wordpress

166282f0ebfe8fd0

可以看出来 mysql在worker2机器上运行,wordpress在manager这个机器上运行

  • 运行wordpress

发现一个问题:明明wordpress在manager这个机器上运行 也就是172.28.128.3这个机器,结果是
172.28.128.5
172.28.128.4
172.28.128.3
这3个地址都可以访问,这是为什么呢? 这个问题下次我来解答吧

166282f0ebb2e637?w=1047&h=524&f=png&s=14

  • 直接我们在manager里面创建了network demo

现在看看worker1 和worker2 里面有没有这个demo

image.png
image.png

PS :不知道大家还有没有影响讲docker的多机网络的时候,多机的overlay网络的时候,使用的第三方的kv的外置的第三方的存储etcd。我们在用了swarm就不需要这个第三方了,整个这块是swarm自己来维护的,swarm的底层机制会同步网络的创建。最后对于所有的clus节点都可以可以访问service的wordpress的问题,下次在说吧。 166139dd27e554b8?w=1080&h=541&f=png&s=45