docker(十七):docker-swarm部署wordpress服务

一、    实现功能

在swarm集群基础上,搭建wordpress应用。

二、准备

1.    创建一个overlay网络

[vagrant@swarm-manager ~]$ docker network create -d overlay demo
vri653ymi5acr4yiyz0kuzvvm

2.    查看manager节点的网络
 

[vagrant@swarm-manager ~]$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
2057f178ab36        bridge              bridge              local
vri653ymi5ac        demo                overlay             swarm
a40b13720c71        docker_gwbridge     bridge              local
30ec5d57cd50        host                host                local
turi640gewgv        ingress             overlay             swarm
d67835b73aff        none                null                local

3.    在其他两台worker1和worker2上,暂时查看不到新添加的demo网络

三、创建wordpress应用

1.创建mysql

[vagrant@swarm-manager ~]$ 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  hub.c.163.com/library/mysql:5.7
lb0xc43f8fggcjorrtw154n1z
overall progress: 1 out of 1 tasks
1/1: running
verify: Service converged

2.查看
(1)查看service服务

[vagrant@swarm-manager ~]$ docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                             PORTS
lb0xc43f8fgg        mysql               replicated          1/1                 hub.c.163.com/library/mysql:5.7
[vagrant@swarm-manager ~]$ docker service ps mysql
ID                  NAME                IMAGE                             NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
ul33ioy5kuv7        mysql.1             hub.c.163.com/library/mysql:5.7   swarm-worker2       Running             Running 2 minutes ago

(2)查看docker进程
-》进入docker-worker2

-》查看进程

[vagrant@swarm-worker2 ~]$ docker ps
CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS              PORTS               NAMES
97d0c72f09c4        hub.c.163.com/library/mysql:5.7   "docker-entrypoint.s…"   2 hours ago         Up 2 hours          3306/tcp            mysql.1.ul33ioy5kuv78p9fnj7qj6m3v

4.创建第二个service:wordpress服务

docker service create --name wordpress -p 80:80 --env WORDPRESS_DB_PASSWORD=root --env WORDPRESS_DB_HOST=mysql --network demo hub.c.163.com/library/wordpress:latest

5.    查看wordpress的service

[vagrant@swarm-manager ~]$ docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                                    PORTS
lb0xc43f8fgg        mysql               replicated          1/1                 hub.c.163.com/library/mysql:5.7
7lzg8gq5o2dh        wordpress           replicated          1/1                 hub.c.163.com/library/wordpress:latest   *:80->80/tcp
[vagrant@swarm-manager ~]$ docker service ps wordpress
ID                  NAME                IMAGE                                    NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
vzclx8t32a5c        wordpress.1         hub.c.163.com/library/wordpress:latest   swarm-manager       Running             Running 25 minutes ago

四、查看部署完成后wordpress应用

1.进入wordpress应用部署的节点:manager查看网址

[vagrant@swarm-manager ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:26:10:60 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
       valid_lft 85984sec preferred_lft 85984sec
    inet6 fe80::5054:ff:fe26:1060/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:d0:0a:34 brd ff:ff:ff:ff:ff:ff
    inet 192.168.205.20/24 brd 192.168.205.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fed0:a34/64 scope link
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:60:58:96:49 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:60ff:fe58:9649/64 scope link
       valid_lft forever preferred_lft forever
5: docker_gwbridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:01:b4:0c:67 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.1/16 brd 172.18.255.255 scope global docker_gwbridge
       valid_lft forever preferred_lft forever
    inet6 fe80::42:1ff:feb4:c67/64 scope link
       valid_lft forever preferred_lft forever

2.    查看http://192.168.205.20:80/

3.配置
 
4.登录
 
-》内容

五、备注

1.    浏览器中输入swarm-worker1地址或者swarm-worker2地址都可以登录
http://192.168.205.21:80/或者http://192.168.205.22:80/

2.在worker2上启动mysql之前,是没有demo这个overlay网络的。当mysql被分配到worker2之后,worker2后面有这个overlay网络。

[vagrant@swarm-worker2 ~]$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
cac057246157        bridge              bridge              local
vri653ymi5ac        demo                overlay             swarm
ed3a25c905a2        docker_gwbridge     bridge              local
59872353621b        host                host                local
turi640gewgv        ingress             overlay             swarm
5c47cb2fbca0        none                null                local

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值