docker swarm 管理服務
阿新 • • 發佈:2019-01-05
docker swarm中服務的概念是:一個服務包含swarm叢集中多個節點,每個節點都可以部署服務,每個服務也包含多個相關的容器。
docker service --help Commands: create Create a new service inspect Display detailed information on one or more services ls List services ps List the tasks of a service rm Remove one or more services scale Scale one or multiple replicated services update Update a service
在主節點上建立一個服務,副本數是2個,防止服務在執行結束後退出,增加命令 ping "www.baidu.com"
[[email protected] ~]# docker service create --name busy-box --replicas 2 busybox ping "www.baidu.com"
dnmw2wdgs4xbj6bw3ma4d5jam
檢視節點的所有服務,
[[email protected] ~]# docker service ls ID NAME MODE REPLICAS IMAGE 3z658klw8dbd my-web replicated 2/2 nginx:latest dnmw2wdgs4xb busy-box replicated 2/2 busybox:latest
[[email protected] ~]# docker service create --replicas 3 --name redis --update-delay 10s redis:3.0.6 383zekusyout2r639vmfx3ejy [[email protected] ~]# docker service ps redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS kta1fy9wcdzf redis.1 redis:3.0.6 master Running Preparing 8 seconds ago bu3xvvq6jghu redis.2 redis:3.0.6 master Running Preparing 8 seconds ago j7b7c0d86ey0 redis.3 redis:3.0.6 worker3 Running Running 8 seconds ago
檢視服務的具體的資訊
[[email protected] ~]# docker service ps busy-box
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
mrv2xv10g1t5 busy-box.1 busybox:latest worker3 Running Running 3 minutes ago
v26re4k304c2 busy-box.2 busybox:latest master Running Running 3 minutes ago
docker swarm 刪除一個服務
[[email protected] ~]# docker service rm my-web
my-web
docker swarm 服務更新,以一個常見的映象更新為例子
[[email protected] ~]# docker service create --replicas 3 --name redis --update-delay 10s redis:3.0.6
383zekusyout2r639vmfx3ejy
[[email protected] ~]# docker service ps redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
kta1fy9wcdzf redis.1 redis:3.0.6 master Running Preparing 8 seconds ago
bu3xvvq6jghu redis.2 redis:3.0.6 master Running Preparing 8 seconds ago
j7b7c0d86ey0 redis.3 redis:3.0.6 worker3 Running Running 8 seconds ago
docker swarm update 更新服務的映象
[[email protected] ~]# docker service update --image redis:latest redis
[[email protected] ~]# docker service ps --filter "desired-state =running" redis
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
nk7tktytm7kk redis.1 redis:latest master Running Running 4 minutes ago
uobcdvbzq4kk redis.2 redis:latest worker3 Running Running 4 minutes ago
cdozh8bw6m8p redis.3 redis:latest worker3 Running Running 4 minutes ago