天天看点

Docker之11 Docker Swarm

什么是Docker Swarm

Docker Swarm是官方对容器的编排项目之一,可以在多个主机上创建集群进行容器服务的统一管理。Swarm的架构中的角色为Manager及Worker。目前主流的容器编排方案为Docker Swarm加Compose或者为Kubernetes。

Docker Swarm集群配置

-1. 查看自身主机于其他Docker主机可以通讯的公网或者私网IP

Docker之11 Docker Swarm

-2. 初始化Swarm集群并公布Manager节点的IP地址

docker swarm init --advertise-addr 172.18.49.120           
Docker之11 Docker Swarm

-3. Worker节点通过Manager节点的IP地址进行加入

docker swarm join --token SWMTKN-1-09tuj2uw2h2ajbkq1n1ya6g2n7g496fk7ckiwf9e9plhcpgsut-1g0hm1mduwlbnzf36kahes38k 172.18.49.120:2377           
Docker之11 Docker Swarm

-4. 加入后查看Swarm集群内所有节点

docker node ls           
Docker之11 Docker Swarm

-5. 通过Docker Info可见到集群部分信息

docker info            
Docker之11 Docker Swarm

Docker Swarm服务管理

-1. 创建Wordpress服务并指定副本数量为10

docker service create --replicas 10 --name wordpress wordpress:latest           
Docker之11 Docker Swarm

-2. 查看服务中容器的运行情况

docker service ps wordpress           
Docker之11 Docker Swarm

-3. 查看服务详细信息

docker service inspect wordpress           
Docker之11 Docker Swarm

-4. 创建服务并映射容器端口到Docker主机上

docker service create --name=wordpress-service -p 8080:80 --replicas 2 wordpress:latest           
Docker之11 Docker Swarm

-5. 服务中容器副本伸缩

docker service scale wordpress-service=5           
Docker之11 Docker Swarm

-6. 删除服务

docker service rm wordpress-service           
Docker之11 Docker Swarm

-7. 滚动更新

根据旧版本的镜像创建服务

docker service create --name=wordpress-service -p 80:80 --replicas=2 wordpress:php7.1-fpm           
Docker之11 Docker Swarm

更新服务的镜像为最新

docker service update --image wordpress:latest wordpress-service
wordpress-service           
Docker之11 Docker Swarm