一般在公司中,Docker 服务器的数量> 1,所以如何让Docker 更合理的跑在很多服务器上,是一个需要解决的问题。为此Docker公司发布了官方的容器管理服务--Swarm。
Docker Swarm(蜂群) --- 发布于2014年12月的DockerCon,用以管理Docker集群,并将其抽象为一个虚拟整体暴露给用户。
Swarm 几乎为Go语言开发完成,目前相对来讲比较简单,但是因为是官方项目,所以建议各位要密切关注。
Swarm使用标准的Docker API接口作为其前端访问入口,意味着我们可以使用Docker任意语言的API调用。
Swarm 的结构如下:由Master Node来组成,需要注意的是Master与Node只负责运行容器,即如果进程死掉,那么容器运行没有影响。
Swarm的工作流程:
- Docker Client与 Master 通信
- Master 根据 集群Docker 容器运行的情况进行调度,然后分配相关容器起在那种机器上
- 然后发送指令给Docker Node 会启动相关容器,并进行监控
所以,这里面比较重要的就是调度算法,目前的调度算法为:Spread,binpack和Random。很明显,Random是随机的启动容器,这个只能玩玩。
Spread 优先考虑将Docker启动在容器运行比较少的服务器上,Binpack则相反,是尽可能把容器启动在一台服务器上。
Swarm 还有很多如何搭建等相关的知识,大家可以自己研究一下。再后续的文章里面,我们还会介绍其他Docker的组件。
大家如果对于哪个技术比较感兴趣,可以私信,我会有重点的在后续文章进行展开。
更多精彩请关注微信 : 图灵搜索,大家也可以使用中国第一个为程序员打造的搜索引擎:https://www.tulingss.com 进行查看。
相关推荐
第四章:Docker容器升华--swarm集群一、Docker Swarm集群概述;二、Docker Swarm核心架构;三、案例:实现Docker Swarm
Docker Swarm 模式集群操作API封装和Swarm UI的中间层应用
centos7.6.1810---镜像包dockercentos7.6.1810---镜像包dockercentos7.6.1810---镜像包docker
离线环境下,在centos7.6系统上安装docker-ce-19.03,nvidia-docker2.4版本,其中docker-ce-19.03在docker-local.tar压缩文件里面,nvidia-docker2在nvidia-docker2.zip文件中。 具体安装流程如下: 1.安装docker ...
ansible-swarm-playbook, 创建/管理 Docker 集群集群的脚本 Ansible Swarm创建/管理 Docker 集群( 要求 Docker> = 1.12 )的脚本。以下帖子的附带文件: https://thisendout.com/2016/09/13/deploying-docker
这是将 docker-gen 连接到 Docker Swarm 集群的示例。 请参阅帖子了解更多详情。 在开始之前 将docker-gen二进制文件放在docker-gen/文件夹中。 将 Docker Swarm master 的 SSL 证书复制到docker-gen/certs文件夹...
centos7.4+ nvidia-docker2 安装所需要的必备包之一 libnvidia-container-tools-1.0.2-1.x86_64.rpm libnvidia-container1-1.0.2-1.x86_64.rpm nvidia-container-runtime-2.0.0-3.docker18.09.6.x86_64.rpm nvidia-...
k8s 网络组件,使用 docker load < flannelxxx.docker 完成该docker 镜像的安装。
Ansible-deploy-docker-swarm.zip,部署docker-swarm.deploy-docker-swarm脚本,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Ansible-ansible-docker_swarm.zip,负责安装和配置Docker Swarm群集的角色。Docker_Swarm,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。
Docker swarm是一个用于创建Docker主机(运行Docker守护进程的服务器)集群的工具,具备服务发现,负载均衡,任务分发、调度,服务状态一致性保持,滚动更新,安全传输等特性。从docker v1.12开始,docker engine ...
docker-ingress-routing-daemon Docker swarm守护程序,可修改入口网格路由以将真实的客户端IP暴露给服务容器: 纯粹通过路由和防火墙规则实施; 所以 无需运行traefik或其他反向代理等其他应用层; 所以 无需重新...
akka-docker-cluster-example, 支持 Docker 支持的akka集群项目示例 akka-docker-cluster-example支持 Docker 支持的akka集群项目示例。 请参见博客文章 。 使用 SBT本机打包程序。:如何运行在SBT中,运行 docker:...
Linux运维-运维课程MP4频-05容器-69dockerswarm网络存储卷-nfs准备.mp4
使用单个命令,您可以将Mongos , Config和Data副本集部署到Docker Swarm上,形成一个高可用性的MongoDB集群,该集群能够在不中断服务的情况下承受多个节点的故障。 Docker堆栈由两个MongoDB副本集,两个Mongos实例...
centos7.4+ nvidia-docker2 安装所需要的必备包之一 libnvidia-container-tools-1.0.2-1.x86_64.rpm libnvidia-container1-1.0.2-1.x86_64.rpm nvidia-container-runtime-2.0.0-3.docker18.09.6.x86_64.rpm nvidia-...
删除Docker Swarm中没有至少一个容器的所有映像使用以下命令在Docker Swarm中部署Image-Prune: docker stack deploy -c image-prune-docker-swarm.yml image-prune
get-docker.sh docker安装脚本,可直接执行 sh get-docker.sh --mirror Aliyun 安装
vagrant-docker-swarm:Docker Swarm的无家可归游乐场
有docker.io-centos软件包,docker的centos镜像包!