Docker 1.12 以前的: swarm 搭建 docker 集群

余生长醉 提交于 2019-12-03 09:37:58

什么是Swarm

Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in go, docker_py, docker等)均可以直接与Swarm通信。Swarm几乎全部用Go语言来完成开发,上周五,4月17号,Swarm0.2发布,相比0.1版本,0.2版本增加了一个新的策略来调度集群中的容器,使得在可用的节点上传播它们,以及支持更多的Docker命令以及集群驱动。

Swarm deamon只是一个调度器(Scheduler)加路由器(router),Swarm自己不运行容器,它只是接受docker客户端发送过来的请求,调度适合的节点来运行容器,这意味着,即使Swarm由于某些原因挂掉了,集群中的节点也会照常运行,当Swarm重新恢复运行之后,它会收集重建集群信息。下面是Swarm的结构图:

能干什么

  • 搭建一个dockers 集群

怎么玩

  1. 安装 env :A,B,C 三台机 ,A 将作管理机 ,centos 系统 ,root 用户 每一台机执行: sudo docker pull swarm
  2. 修改 docker 配置文件 sudo vi /etc/sysconfig/docker 在文件的最后面添加下面这句 DOCKER_OPTS="-H 0.0.0.0:2375 –H unix:///var/run/docker.sock"
  3. 重启dockers sudo service docker restart
  4. 使用令牌来发现
  • 使用DOCKHUB 来建立 任意一台,执行下面的命令 sudo docker run --rm swarm create 这里会产生一个令牌 ,假设为1111
  • swarm join命令,把机器加入集群。 A,B,C: sudo docker run -d swarm join –addr=A:2375 token://1111
  • swarm manager A: sudo docker run –d –p 2376:2375 swarm manage token://1111
    • 首先要以daemon的形式运行swarm;
    • 其次端口映射:2376可以更换成任何一个本机没有占用的端口,一定不能是2375,否则就会出问题
  • swarm list A,b,c:docker run --rm swarm list token://1111

引用:Docker 学习教程

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!