搭建Docker Swarm集群实战(一)(服务发现使用consul)

注意:
docker在版本1.12之后,已经将swarm的部分集成在docker里面了,所以也就不需要依赖第三方的东西了。
所以如果不是为了有趣了解一下的话,请直接转到本系列的第三篇开始=》搭建Docker Swarm集群实战(三)(swarm mode)

个人建立的Docker爱好者交流QQ群:472149402,欢迎大家来此交流经验和问题,一起成长。

前言

Docker Swarm是docker的原生的集群解决方案。它可以让你使用一些docker的工具来统一管理一池子的docker host。

首先Docker Swarm依赖于一个Manager(其实就是Swarm Master)。Manager管理和调度所有集群上的container。而这些被管理的container就可以分布在集群的各个Docker Host中(我们称之为Swarm Nodes)

其次,集群中的Swarm Master和Swarm Nodes互相之间的节点发现,Docker公司提供了若干种实现方式,我们这里使用consul来实现。关于consul,大家可以去https://www.consul.io/了解详细。

最后顺便提一下,这里由于我只有一台电脑,所以为了模拟多台电脑,并且每一台电脑都有一个docker host,我使用了docker-machinel来创建不同的docker host的节点。关于docker-machine的详细这里就省略。

确认宿主的各个组件的版本

我使用的笔记本是mac book,所以有一些东西的安装可能根据自身的环境有所不同。

$ docker-machine version
docker-machine version 0.8.1, build 41b3b25

$ docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.7.1
 Git commit:   6f9534c
 Built:        Thu Sep  8 10:31:18 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 17:52:38 2016
 OS/Arch:      linux/amd64

$ docker-compose version
docker-compose version 1.8.0, build f3628c7
docker-py version: 1.9.0
CPython version: 2.7.9
OpenSSL version: Open

你可能感兴趣的:(docker,docker,集群)