聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

Docker三大编排工具之Swarm

2015-04-19 19:20 浏览: 1476837 次 我要评论(0 条) 字号:

Docker 1.6新版本发布了,一同发布的还有Registry 2.0、Compose、Swarm、Machine以及Docker Windows客户端,本文简单介绍下docker三大编排工具和作用地位,重点介绍swarm的使用。

Machine

在没有Machine时,安装docker需要根据不同的OS使用不同的安装方法,配置文件也在不同的位置,流程复杂而且不简单方便。Machine就是解决的是操作系统异构安装Docker困难的问题。具体使用参考本博客这篇文章。
有了Machine,所有的系统都是一样的安装方式,一个命令直接安装Docker引擎,这样就有了docker环境。

Swarm

Machine帮我们快速构建docker环境,但是那是单机的。Swarm管理docker集群,支持用户创建docker engine主机资源池,并提供docker集群环境和调度策略等。
有了Swarm,能够对集群调度管理,就有了docker 容器运行的资源池环境。

Compose

有了集群环境,下面就是部署应用,有时候就需要多容器组装应用,这个时候我们需要docker run image1、docker run image2 …,进行大量重复操作和配置。
Compose就是简化部署应用流程,只需要把命令参数固化到docker-compose.yml中,维护所有应用程序容器的逻辑定义以及它们之间的连接关系。


搞明白了swarm在docker中的作用,下面搭建简单swarm集群。

环境:

  • docker 1.5
  • 3台虚拟机 – centos7

swarm manage:192.168.0.1
     node-a:192.168.0.2
     node-b:192.168.0.3

官网:You must install Docker1.4.0 or later on all nodes. While each node’s IP need not be public, the Swarm manager must be able to access each node across the network.

安装docker和swarm

# yum install docker
# docker pull swarm

结点(node)docker配置

添加-H tcp://0.0.0.0:2375到OPTIONS

# vi /etc/sysconfig/docker
...
OPTIONS='-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'
...

构建docker集群

1. 本文基于token发现后端,需要生成集群token。

# docker run --rm swarm create
xxx...xxx(token==cluster_id)

下面的cluster_id均表示上面生成的xxx…xxx。

2. 将node-a和node-b分别配置docker remote API,并添加cluster_id.

命令格式:docker run -d swarm join –addr= token://cluster_id

[node-a]# docker -H tcp://0.0.0.0:2375 -d
[node-a]# docker run -d swarm join --addr=192.168.0.2:2375 token://cluster_id

[node-b]# docker -H tcp://0.0.0.0:2375 -d
[node-b]# docker run -d swarm join --addr=192.168.0.3:2375 token://cluster_id

3. 开启swarm manager(这里用192.168.0.1)

命令格式:docker run -d -p :2375 swarm manage token://cluster_id

# docker run -d -p 8888:2375 swarm manage token://cluster_id

swarm命令

1. 查看集群节点列表

# docker run --rm swarm list token://cluster_id
...

2. 使用docker cli

执行命令的格式:docker -H

docker -H 192.168.0.1:8888 info
docker -H 192.168.0.1:8888 ps
docker -H 192.168.0.1:8888 run ...
docker -H 192.168.0.1:8888 logs 
docker -H 192.168.0.1:8888 rename



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复