目录
多服务Swarm集群部署
1、编写docker-compose.yml文件
Docker三剑客中有个compose,compose是对一台机器进行统一编排的,通过docker-compose.yml的文件实现,这里我们就可以结合compose和swarm进行多服务的编排。
[root@manager ~]# mkdir swarm-test
[root@manager ~]# cd swarm-test
[root@manager swarm-test]# vim docker-compose.yml
version: "3"
services:
nginx01:
image: nginx
ports:
- 8888:80
deploy:
mode: replicated
replicas: 3
redis01:
image: redis
ports:
- 8379:6379
deploy:
mode: replicated
replicas: 5
2、通过yml文件部署服务
[root@manager swarm-test]# docker stack deploy -c docker-compose.yml deploy_daemon
Creating network deploy_daemon_default
Creating service deploy_daemon_nginx01
Creating service deploy_daemon_redis01
# 通过上面的执行过程可以看出这样创建会默认创建一个网络并使用它,名字都是我们给的名字的前缀加上服务名
查看创建的服务
[root@manager swarm-test]# docker stack ls
NAME SERVICES ORCHESTRATOR
deploy_daemon 2 Swarm
[root@manager swarm-test]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
khvaldmikzj8 deploy_daemon_nginx01 replicated 3/3 nginx:latest *:8888->80/tcp
vfq0gscm43f6 deploy_daemon_redis01 replicated 5/5 redis:latest *:8379->6379/tcp
[root@manager swarm-test]# docker service ps deploy_daemon_nginx01
ID