原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『中级篇』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 基本不用了。
docker service --help
docker servcie create
docker run
- 创建一个swarm的演示容器
docker service create --name demo busybox sh -c "while true;do sleep 3600;done"
docker service ls
#目前这个容器是运行在swarm-worker1上,这都是随机的。
docker service ps demo
docker service ls
- 横向水平的扩展
#横向水平扩展至5个容器
docker service scale demo=5
docker service ls
docker service ps demo
- 自动恢复功能
我们先去worker2中强制删除,然后查看manager的情况,在过一会通过命令查看docker service ls的情况
# 在docker-work2 中删除 容器
docker rm -f 容器2中的容器ID
# 在docker-manager中查看,正常运行的只有4个
docker service ls
# 查看详细的情况,docker-work2中的容器已经shutdown了
docker service ps demo
过几十秒 在查看容器运行情况,自动回复之前要求的5个。
# 在docker-manager中查看,正常运行的只有5个
docker service ls
# 查看详细的情况,docker-work2中的容器已经shutdown了,又起来了一个
docker service ps demo
- 删除service的效果
docker service rm demo
PS:docker service 内部有很多复杂的操作,虽然各位老铁用了简单的 一个创建一个删除,但是底层里面会知道有多个容器,在那个机器上边,这些机器里面的容器应用运行那些命令,这就起到了集群管理。
往期精彩
- docker导学(一)
- 容器的技术概述(二)
- docker的魅力初体验-5分钟安装wordpress不走弯路(三)
- docker官网介绍(四)
- 如何在mac上安装docker(五)
- 如何在window上安装docker(六)
- 如何在mac上通过vagrant安装虚拟机(七)
- 如何在window上通过vagrant安装虚拟机(八)
- docker-Machine的本地使用(九)
- docker-Machine的本地使用(十)
- 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
- docker架构和底层技术(12)
- docker Image概述(13)
- 手动建立一个base Image(14)
- 什么是Container(15)
- 构建自己的Docker镜像(16)
- Dockerfile详解(17)
- 镜像的发布(18)
- Dockerfile实战(19)
- 容器的操作(20)
- Dockerfile实战CMD和ENTRTYPOINT的配合(21)
- 容器的资源限制(22)
- docker网络(23)
- docker学习必会网络基础(24)
- Linux网络命名空间(25)
- Docker Bridge详解(26)
- 容器之间的Link(27)
- 容器的端口映射(28)
- 容器网络之host和none(29)
- 多容器复杂应用的部署(30)
- overlay网络和etcd实现多机的容器通信(31)
- docker的数据持久化存储和数据共享(32)
- windows下vagrant 通过SecureCRT连接centos7(33)
- 数据持久化之Data Volume(34)
- 数据持久化之bind Mounting(35)
- docker 使用bind Mounting实战(36)
- docker容器安装wordpress(37)
- docker Compose到底是什么(38)
- Docker Compose的安装和基本使用(39)
- Docker 水平扩展和负载均衡(40)
- Docker compose 部署一个复杂的应用(41)
- 容器编排Docker Swarm介绍(42)
- docker-swarm创建一个多节点集群(43)
-
play with docker 的使用(44)
image
网友评论