docker swarm Dockerstack 部署 wordpress

1、查看 docker compose depoly 语法
  官网地址 : https://docs.docker.com/compose/compose-file/#deploy

2、docker-compose.yml

# docker compose api 版本
version: '3'

services:
  # 定义了 两个 service 分别是 名字分别是 wordpress 和 mysql
  web:
    image: wordpress
    ports:
       #本地 8080 端口 映射 容器 80 端口
      - 8080:80
    environment:
      # wordpress 连接数据库 的 host 为 mysql , passwword 为 root 类似于 -e
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_PASSWORD: root
    networks:
      - my-network
    depends_on:
      - mysql
    deploy:
      # 可以进行横向拓展 初始化节点为3个
      mode: replicated
      replicas: 3
      # 重启政策
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
      #更新政策
      update_config:
        parallelism: 1
        delay: 10s

  mysql:
    image: mysql:5.7.27
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress
    volumes:
      #外部 mysql-data 挂载到 容器内的 /var/lib/mysql
      - mysql-data:/var/lib/mysql
    networks:
      #指定连接 的网络 为 my-network
      - my-network
    deploy:
      # mysql 节点全局只有一个,不可以横向拓展
      mode: global
      # 只能部署到 manager 节点
      placement:
        constraints:
          - node.role == manager

volumes:
  mysql-data:
networks:
  my-network:
    driver: overlay

3、部署
在swarm模式下部署,用stack
docker stack deploy wordpress

[vagrant@swarm-manager ~]$ docker stack deploy wordpress --compose-file=docker-compose.yml

查看部署容器数量:

[vagrant@swarm-manager ~]$ docker stack ls
NAME                SERVICES            ORCHESTRATOR
wordpress           2                   Swarm

查看 容器部署具体细节:

[vagrant@swarm-manager ~]$ docker stack ps wordpress
ID                  NAME                                        IMAGE               NODE                DESIRED STATE       CURRENT STATE                ERROR               PORTS
jz52d0i03gba        wordpress_mysql.p61nqttz7jeq5gol5o9tyeuio   mysql:5.7.27        swarm-manager       Running             Running about a minute ago
bs5n78dj44j0        wordpress_web.1                             wordpress:latest    swarm-worker2       Running             Running about a minute ago
vivx538ld6em        wordpress_web.2                             wordpress:latest    swarm-manager       Running             Running about a minute ago
js5klc67ffo3        wordpress_web.3                             wordpress:latest    swarm-worker1       Running             Running 2 minutes ago

查看 各个 sevices 的情况:

[vagrant@swarm-manager ~]$ docker stack services  wordpress
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
otxulx0kqmj5        wordpress_web       replicated          3/3                 wordpress:latest    *:8080->80/tcp
uuzdowxst3o8        wordpress_mysql     global              1/1                 mysql:5.7.27

4、浏览器访问:
任意一台ip访问即可。

http://192.168.205.10:8080/

5、删除wordpress

[vagrant@swarm-manager ~]$ docker stack rm stop wordpress
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值