Docker - 通过swarm 管理 docker service

时间:2023-01-31 18:15:46

创建一个 Docker service

$ docker service create --replicas 1 --name myhelloworld alpine ping docker.com

 

--replicas: 标识运行实例个数

--name: service 的名称

alpine ping docker.com: 运行参数,表明service将运行一个Alpine Linux container,并且执行 ping docker.com 的命令。

 

Docker - 通过swarm 管理 docker service

 

审视 Docker service

$ docker service inspect --pretty myhelloworld

--pretty: 指定返回为简约格式,否则,讲义JSON格式返回

Docker - 通过swarm 管理 docker service

 

查看 service 上运行 node 的情况

$ docker service ps myhelloworld

 Docker - 通过swarm 管理 docker service

 

查看容器详细信息

$ docker ps

 

Docker - 通过swarm 管理 docker service

 

修改service 规模

$ docker service scale myhelloworld=5

Docker - 通过swarm 管理 docker service

 

删除 service

$ docker service rm myhelloworld

Docker - 通过swarm 管理 docker service

 

轮询更新

$ docker service create \

 --replicas 3 \
--name redis \
--update-delay 10s \
redis:3.0.6

 Docker - 通过swarm 管理 docker service

 

 查看 service 状态

$ docker service inspect --pretty myredis

Docker - 通过swarm 管理 docker service

 

 

更新 service

更新节点

$ #docker service update --image redis:3.0.6 myredis

指定service的某个节点排满状态

$ docker node update --availability drain worker1

此后,将不会再在worker1 上面分派任务。