首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
1
『中级篇』overlay网络和etcd实现多机的容器通信(31)
2
『中级篇』docker的数据持久化存储和数据共享(32)
3
『中级篇』docker的数据持久化存储和数据共享(33)
4
『中级篇』数据持久化之Data Volume(34)
5
『中级篇』数据持久化之bind Mounting(35)
6
『中级篇』docker 使用bind Mounting实战(36)
7
『中级篇』docker容器安装wordpress(37)
8
『中级篇』Docker Compose到底是什么(38)
9
『中级篇』Docker Compose的安装和基本使用(39)
10
『中级篇』Docker 水平扩展和负载均衡(40)
11
『中级篇』Docker compose 部署一个复杂的应用(41)
12
『中级篇』容器编排Docker Swarm介绍(42)
13
『中级篇』docker-swarm创建一个多节点集群(43)
14
『中级篇』play with docker 的使用(44)
15
『中级篇』docker-swarm中的Service创建维护和水平扩展(45)
16
『中级篇』在docker-swarm集群里通过serivce部署wordpress(46)
17
『中级篇』集群服务间通信之RoutingMesh(47)
18
『中级篇』RoutingMesh之Ingress负载均衡(48)
19
『中级篇』Docker-Stack部署wordpress(49)
20
『中级篇』Docker-Stack部署投票应用(50)
21
『中级篇』Docker-Secret管理和使用(51)
22
『中级篇』Docker service更新(52)
23
『中级篇』Docker的收费模式(53)
24
『中级篇』Docker-cloud介绍(54)
25
『中级篇』Docker Cloud自动构建 Docker image(55)
26
『中级篇』Docker企业版的在线免费体验(56)
27
『中级篇』docker企业版本地安装之UCP(57)
28
『中级篇』Kubenetes简介(60)

『中级篇』docker-swarm中的Service创建维护和水平扩展(45)

通过上一节已经创建了1个manager和2个worker,现在看看如何使用。源码地址:https://github.com/limingios/docker中的No.5;

service的操作

之前说docker-compose的时候提过service,一个service就是一个container一个容器,而在swarm中的service,是一个container,可能运行在我们的clus里面的任何一个节点上边。

  • docker-swarm 有个专门的命令 docker service

docker service create 和 docker run 的命令基本是一致的。在swarm下就不在使用docker run了,docker run 是在本地创建一个容器。我们在clus下创建的docker 容器不一定是运行在那个机器下。所以docker run 基本不用了。

代码语言:javascript
复制
docker service --help
docker servcie create 
docker run
  • 创建一个swarm的演示容器
代码语言:javascript
复制
docker service create --name demo busybox sh -c "while true;do sleep 3600;done"
docker service ls
#目前这个容器是运行在swarm-worker1上,这都是随机的。
docker service ps demo
代码语言:javascript
复制
docker service ls
  • 横向水平的扩展
代码语言:javascript
复制
#横向水平扩展至5个容器
docker service scale demo=5 
docker service ls
docker service ps demo
  • 自动恢复功能

我们先去worker2中强制删除,然后查看manager的情况,在过一会通过命令查看docker service ls的情况

代码语言:javascript
复制
# 在docker-work2 中删除 容器
docker rm -f 容器2中的容器ID
# 在docker-manager中查看,正常运行的只有4个
docker service ls
# 查看详细的情况,docker-work2中的容器已经shutdown了
docker service ps demo

过几十秒 在查看容器运行情况,自动回复之前要求的5个。

代码语言:javascript
复制
# 在docker-manager中查看,正常运行的只有5个
docker service ls
# 查看详细的情况,docker-work2中的容器已经shutdown了,又起来了一个
docker service ps demo
  • 删除service的效果
代码语言:javascript
复制
docker service rm demo

PS:docker service 内部有很多复杂的操作,虽然各位老铁用了简单的 一个创建一个删除,但是底层里面会知道有多个容器,在那个机器上边,这些机器里面的容器应用运行那些命令,这就起到了集群管理。

下一篇
举报
领券