- 编写docker-compose.yml文件
version: '3'
services:
web:
image: wordpress
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_PASSWORD: root
networks:
- my-network
#依赖mysql服务,会先启动mysql
depends_on:
- mysql
# 增加的部署标签
deploy:
# mode replicated可以扩展
mode: replicated
# 扩展三个
replicas: 3
#重启规则
restart_policy:
# 失败的时候重启
condition: on-failure
#延迟5秒执行
delay: 5s
max_attempts: 3
#更新设置
update_config:
parallelism: 1
delay: 10s
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
volumes:
- mysql-data:/var/lib/mysql
networks:
- my-network
deploy:
# mode global 不可扩展
mode: global
placement:
constraints:
# 指定安装在manager上
- node.role == manager
volumes:
mysql-data:
networks:
my-network:
#driver可以不写,在swarm下默认是overlay
driver: overlay
- 部署WordPress
docker stack deploy wordpress --compose-file=docker-compose.yml
简写
docker stack deploy wordpress -c=docker-compose.yml
- 查看stack列表
docker stack ls
- 查看某个stack详情
docker stack ps wordpress
- 删除某个stack
docker stack rm wordpress
- 查看服务部署情况
docker stack services wordpress