本篇文章来源于官方文档,是我学习后的总结。
先决条件
1.你看了我之前的文章,并且都做过实验了
2.新安装一个玩意儿,叫做docker-machine,用于创建虚拟机
环境清单
机子架构:x86_64
操作系统:Debian GNU/Linux 9.0 (stretch)
内核版本:4.12.1-041201-generic
Docker版本: Docker version 17.06.0-ce, build 02c1d87
本篇文章的写作思路如下
1. 什么是集群
2. 如何搭建集群
3. 如何使用集群
什么是集群(鸡群)
就是一群跑docker的机子组合在一起,这里面有个机头(鸡头),叫做swarm manager,他负责管手下的机子,你以后只管跟机头对话就行,其余的机头叫手下的机(小鸡)帮你干。
如何搭建集群
首先安装docker-machine,用于创建虚拟机模拟集群,安装命令
curl -L https://github.com/docker/machine/releases/download/v0.12.1/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine&&chmod +x /tmp/docker-machine &&cp /tmp/docker-machine /usr/local/bin/docker-machine
docker-machine还有一个命令提示脚本,我没有安装。
然后,你还得安装一个virtualbox,别以为只有Windows和Mac才有虚拟机,Linux也有的,小伙子别太年轻了 ╮(~▽~)╭
针对Debian9,安装virtualbox步骤如下
1. 在你的/etc/apt/sources.list里面添加下面一行deb http://download.virtualbox.org/virtualbox/debian stretch contrib
2. wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
3. apt-get update
4. apt-get install virtualbox-5.1
我相信这里需要些时间,因为依赖有点多,基友一时间拉不完。如果你是别的系统,要按照virtualgox,可以[摸我](https://www.virtualbox.org/wiki/Linux_Downloads)
创建集群,这里创建名为myvm1和myvm2的两个VM
$ docker-machine create --driver virtualbox myvm1
$ docker-machine create --driver virtualbox myvm2
这里我们让myvm1做机头,myvm2做小机
$ docker-machine ssh myvm1 "docker swarm init"
然后让2自愿做小机
docker-machine ssh myvm2 "docker swarm join \
--token <token> \
<ip>:<port>"
到此,你的第一个集群(鸡群)就搞定了
如何使用集群
查看集群用 docker node ls
然后开始部署你的项目,这里基本上就是重复我上一篇文章了
先传输部署文件到myvm1,为什么是他?因为他是机头啊
docker-machine scp docker-compose.yml myvm1:~
好,现在机头就开始听你吩咐了,你说开始部署
docker-machine ssh myvm1 "docker stack deploy -c docker- compose.yml getstartedlab"
好了,机头就给你干好活了
然后你想看看机头干活的成果,于是你又给机头说,
docker-machine ssh myvm1 "docker stack ps getstartedlab"
突然你不想再要这个集群部署好的服务了了,于是你给鸡头说
docker-machine ssh myvm1 "docker stack rm getstartedlab"
本文完