一、    实验目的

docker secret在部署docker stack复杂应用时的应用。

二、    部署wordpress实例步骤

1.提前创建好my-pw的secret服务

docker secret create my-pw password

2.部署应用yml文件

version: '3.6'

services:

  web:
    image: hub.c.163.com/library/wordpress:latest
    ports:
      - 8080:80
    secrets:
      - my-pw
    environment:
      WORDPRESS_DB_HOST: mysql
      WORDPRESS_DB_PASSWORD_FILE: /run/secrets/my-pw
    networks:
      - my-network
    depends_on:
      - mysql
    deploy:
      mode: replicated
      replicas: 3
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
      update_config:
        parallelism: 1
        delay: 10s

  mysql:
    image: hub.c.163.com/library/mysql:5.7
    secrets:
      - my-pw
    environment:
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/my-pw
      MYSQL_DATABASE: wordpress
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - my-network
    deploy:
      mode: global
      placement:
        constraints:
          - node.role == manager

volumes:
  mysql-data:

networks:
  my-network:
    driver: overlay

secrets:
  my-pw:
external: true

3.部署命令

[vagrant@swarm-manager secret-example]$ docker stack deploy wordpress -c=docker-compose.yml
Creating network wordpress_my-network
Creating service wordpress_mysql
Creating service wordpress_web

4.查看创建
(1)查看总体

[vagrant@swarm-manager secret-example]$ docker stack services wordpress
ID                  NAME                MODE                REPLICAS            IMAGE                                    PORTS
3g09fckn9o4t        wordpress_mysql     global              1/1                 hub.c.163.com/library/mysql:5.7
ia88hz0egwau        wordpress_web       replicated          3/3                 hub.c.163.com/library/wordpress:latest   *:8080->80/tcp


 

更多推荐