docker swarm 通过 service 部署 wordpress

0、环境准备
在docker swarm 创建三个节点 章 中已经搭建好。

1、创建 一个 overlay 的网络 driver

[vagrant@swarm-manager ~]$ docker network create -d overlay demo
hfh9av035783w8tgksjtucysf
[vagrant@swarm-manager ~]$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
9e48970e1c01        bridge              bridge              local
hfh9av035783        demo                overlay             swarm
127cade73a78        docker_gwbridge     bridge              local
b3ccf9adf2c3        host                host                local
j5faq74fptoa        ingress             overlay             swarm
698360e3bfa1        none                null                local

2、创建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 mysql:5.7.27

–mount (类似与 volume) type=volume (mount的类型为 volume),source=mysql-data (本地存储数据的位置在 mysql-data内) ,destination=/var/lib/mysql(service 内 存储数据的位置在 /var/lib/mysql)
3、查看 mysql 镜像
docker service ls

[vagrant@swarm-manager ~]$ docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
i6mocpbq76tv        mysql               replicated          1/1                 mysql:5.7.27

docker service ps mysql

[vagrant@swarm-manager ~]$ docker service ps mysql
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
l73zchpe43qt        mysql.1             mysql:5.7.27        swarm-manager       Running             Running 54 seconds ago

docker ps

[vagrant@swarm-manager ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
90462ac76c65        mysql:5.7.27        "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        3306/tcp, 33060/tcp   mysql.1.l73zchpe43qtiviq4aqk70h4r

4、 创建 wordpress 的 service

[vagrant@swarm-manager ~]$ docker service create --name wordpress -p 80:80 --network demo --env WORDPRESS_DB_PASSWORD=root --env WORDPRESS_DB_HOST=mysql wordpress

swarm-manager上查看 wordpress 镜像:

[vagrant@swarm-manager ~]$ docker service ps wordpress
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE                ERROR               PORTS
oe32ys1e4exs        wordpress.1         wordpress:latest    swarm-worker1       Running             Running about a minute ago
[vagrant@swarm-manager ~]$  docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
i6mocpbq76tv        mysql               replicated          1/1                 mysql:5.7.27
tlpwe6cz82gx        wordpress           replicated          1/1                 wordpress:latest    *:80->80/tcp

swarm-worker1查看:

[vagrant@swarm-worker1 ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
c300f7fed594        wordpress:latest    "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        80/tcp              wordpress.1.oe32ys1e4exsrbu3q944fhc4c

5、查看swarm-worker1的 ip 地址 (wordpress 在哪台机器上 就访问 那台机器的ip 地址即可)

192.168.205.11

在浏览器输入上面的ip访问:
在这里插入图片描述

6、此时发现 使用 swarm-worker1的 ip 和swarm-manager 的 ip 也能访问 wordpress。
因为:
查看 swarm-worker1的网络 和 swarm-manager 的网络,
发现 demo 的 overlay 网络 会通过 swarm 自动同步过去

[vagrant@swarm-worker2 ~]$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
fdb699864384        bridge              bridge              local
ab40e8745b36        docker_gwbridge     bridge              local
11f34ea60afe        host                host                local
j5faq74fptoa        ingress             overlay             swarm
6bc6c528b1d6        none                null                local
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值