一、 实验目的
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