如何从零开始搭建Docker Swarm集群

<转>【教程】如何从零开始搭建Docker Swarm集群
需求
1. Docker版本1.4.0+
2. 两台节点主机:

检查节点Docker配置
1. 打开Docker配置文件(示例是centos 7)
vim /etc/sysconfig/docker

2. 添加-H tcp://0.0.0.0:2375OPTIONS
OPTIONS='-g /cutome-path/docker -H tcp://0.0.0.0:2375'

3. CentOS6.6 需要另外添加-H unix:///var/run/docker.sock
OPTIONS='-g /mnt/docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

分别给A、B节点安装swarm
$ docker pull swarm

生成集群token(一次)
$ docker run --rm swarm create
6856663cdefdec325839a4b7e1de38e8

其中6856663cdefdec325839a4b7e1de38e8就是我们将要创建集群的token
添加节点A、B到集群
$ docker run -d swarm join --addr=192.168.20.1:2375 token://6856663cdefdec325839a4b7e1de38e8

$ docker run -d swarm join --addr=192.168.20.2:2375 token://6856663cdefdec325839a4b7e1de38e8

列出集群A、B节点
$ docker run --rm swarm list token://6856663cdefdec325839a4b7e1de38e8

192.168.20.1:2375
192.168.20.2:2375

集群管理:
在任何一台主机A、B或者C(C:192.168.20.3)上开启管理程序。例如在C主机开启:
$ docker run -d -p 8888:2375 swarm manage token://6856663cdefdec325839a4b7e1de38e8

现在你就可以在主机C上管理集群A、B:
$ docker -H 192.168.20.3:8888 info
$ docker -H 192.168.20.3:8888 ps
$ docker -H 192.168.20.3:8888 logs ...

在集群上运行容器
$ docker -H 192.168.20.3:8888 run -d --name web1 nginx
$ docker -H 192.168.20.3:8888 run -d --name web2 nginx
$ docker -H 192.168.20.3:8888 run -d --name web3 nginx
$ docker -H 192.168.20.3:8888 run -d --name web4 nginx
$ docker -H 192.168.20.3:8888 run -d --name web5 nginx

查看集群A、B内的容器
$ docker -H 192.168.20.3:8888 ps -a

结果如下:
CONTAINER ID        IMAGE                       COMMAND                CREATED             STATUS                    PORTS               NAMES
4cc1f232fb18        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-A/web5
e8327939721a        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-A/web3
35e08c4a1b43        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web4
9bd07067620d        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web2
626fe5b1dcfa        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-B/web1

其中NAMES列里面:/前边是节点名字,后边是在节点内创建的容器名字。

使用Docker Machine搭建Swarm集群

【教程】如何从零开始搭建Docker Swarm集群

需求
1. Docker版本1.4.0+
2. 两台节点主机:
  • A:192.168.20.1
  • B:192.168.20.2

检查节点Docker配置
1. 打开Docker配置文件(示例是centos 7)
vim /etc/sysconfig/docker

2. 添加 -H tcp://0.0.0.0:2375 OPTIONS
OPTIONS='-g /cutome-path/docker -H tcp://0.0.0.0:2375'

3. CentOS6.6 需要另外添加 -H unix:///var/run/docker.sock
OPTIONS='-g /mnt/docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

分别给A、B节点安装swarm
$ docker pull swarm

生成集群token(一次)
$ docker run --rm swarm create
6856663cdefdec325839a4b7e1de38e8

其中 6856663cdefdec325839a4b7e1de38e8 就是我们将要创建集群的token
添加节点A、B到集群
$ docker run -d swarm join --addr=192.168.20.1:2375 token://6856663cdefdec325839a4b7e1de38e8

$ docker run -d swarm join --addr=192.168.20.2:2375 token://6856663cdefdec325839a4b7e1de38e8

列出集群A、B节点
$ docker run --rm swarm list token://6856663cdefdec325839a4b7e1de38e8

192.168.20.1:2375
192.168.20.2:2375

集群管理:
在任何一台主机A、B或者C(C:192.168.20.3)上开启管理程序。例如在C主机开启:
$ docker run -d -p 8888:2375 swarm manage token://6856663cdefdec325839a4b7e1de38e8

现在你就可以在主机C上管理集群A、B:
$ docker -H 192.168.20.3:8888 info
$ docker -H 192.168.20.3:8888 ps
$ docker -H 192.168.20.3:8888 logs ...

在集群上运行容器
$ docker -H 192.168.20.3:8888 run -d --name web1 nginx
$ docker -H 192.168.20.3:8888 run -d --name web2 nginx
$ docker -H 192.168.20.3:8888 run -d --name web3 nginx
$ docker -H 192.168.20.3:8888 run -d --name web4 nginx
$ docker -H 192.168.20.3:8888 run -d --name web5 nginx

查看集群A、B内的容器
$ docker -H 192.168.20.3:8888 ps -a

结果如下:
CONTAINER ID        IMAGE                       COMMAND                CREATED             STATUS                    PORTS               NAMES
4cc1f232fb18        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-A/web5
e8327939721a        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-A/web3
35e08c4a1b43        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web4
9bd07067620d        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web2
626fe5b1dcfa        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-B/web1

其中 NAMES 列里面: / 前边是节点名字,后边是在节点内创建的容器名字。

使用Docker Machine搭建Swarm集群
http://dockone.io/article/227
需求
1. Docker版本1.4.0+
2. 两台节点主机:
  • A:192.168.20.1
  • B:192.168.20.2

检查节点Docker配置
1. 打开Docker配置文件(示例是centos 7)
vim /etc/sysconfig/docker

2. 添加 -H tcp://0.0.0.0:2375 OPTIONS
OPTIONS='-g /cutome-path/docker -H tcp://0.0.0.0:2375'

3. CentOS6.6 需要另外添加 -H unix:///var/run/docker.sock
OPTIONS='-g /mnt/docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

分别给A、B节点安装swarm
$ docker pull swarm

生成集群token(一次)
$ docker run --rm swarm create
6856663cdefdec325839a4b7e1de38e8

其中 6856663cdefdec325839a4b7e1de38e8 就是我们将要创建集群的token
添加节点A、B到集群
$ docker run -d swarm join --addr=192.168.20.1:2375 token://6856663cdefdec325839a4b7e1de38e8

$ docker run -d swarm join --addr=192.168.20.2:2375 token://6856663cdefdec325839a4b7e1de38e8

列出集群A、B节点
$ docker run --rm swarm list token://6856663cdefdec325839a4b7e1de38e8

192.168.20.1:2375
192.168.20.2:2375

集群管理:
在任何一台主机A、B或者C(C:192.168.20.3)上开启管理程序。例如在C主机开启:
$ docker run -d -p 8888:2375 swarm manage token://6856663cdefdec325839a4b7e1de38e8

现在你就可以在主机C上管理集群A、B:
$ docker -H 192.168.20.3:8888 info
$ docker -H 192.168.20.3:8888 ps
$ docker -H 192.168.20.3:8888 logs ...

在集群上运行容器
$ docker -H 192.168.20.3:8888 run -d --name web1 nginx
$ docker -H 192.168.20.3:8888 run -d --name web2 nginx
$ docker -H 192.168.20.3:8888 run -d --name web3 nginx
$ docker -H 192.168.20.3:8888 run -d --name web4 nginx
$ docker -H 192.168.20.3:8888 run -d --name web5 nginx

查看集群A、B内的容器
$ docker -H 192.168.20.3:8888 ps -a

结果如下:
CONTAINER ID        IMAGE                       COMMAND                CREATED             STATUS                    PORTS               NAMES
4cc1f232fb18        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-A/web5
e8327939721a        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-A/web3
35e08c4a1b43        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web4
9bd07067620d        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web2
626fe5b1dcfa        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-B/web1

其中 NAMES 列里面: / 前边是节点名字,后边是在节点内创建的容器名字。

使用Docker Machine搭建Swarm集群
http://dockone.io/article/227
需求
1. Docker版本1.4.0+
2. 两台节点主机:
  • A:192.168.20.1
  • B:192.168.20.2

检查节点Docker配置
1. 打开Docker配置文件(示例是centos 7)
vim /etc/sysconfig/docker

2. 添加 -H tcp://0.0.0.0:2375 OPTIONS
OPTIONS='-g /cutome-path/docker -H tcp://0.0.0.0:2375'

3. CentOS6.6 需要另外添加 -H unix:///var/run/docker.sock
OPTIONS='-g /mnt/docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

分别给A、B节点安装swarm
$ docker pull swarm

生成集群token(一次)
$ docker run --rm swarm create
6856663cdefdec325839a4b7e1de38e8

其中 6856663cdefdec325839a4b7e1de38e8 就是我们将要创建集群的token
添加节点A、B到集群
$ docker run -d swarm join --addr=192.168.20.1:2375 token://6856663cdefdec325839a4b7e1de38e8

$ docker run -d swarm join --addr=192.168.20.2:2375 token://6856663cdefdec325839a4b7e1de38e8

列出集群A、B节点
$ docker run --rm swarm list token://6856663cdefdec325839a4b7e1de38e8

192.168.20.1:2375
192.168.20.2:2375

集群管理:
在任何一台主机A、B或者C(C:192.168.20.3)上开启管理程序。例如在C主机开启:
$ docker run -d -p 8888:2375 swarm manage token://6856663cdefdec325839a4b7e1de38e8

现在你就可以在主机C上管理集群A、B:
$ docker -H 192.168.20.3:8888 info
$ docker -H 192.168.20.3:8888 ps
$ docker -H 192.168.20.3:8888 logs ...

在集群上运行容器
$ docker -H 192.168.20.3:8888 run -d --name web1 nginx
$ docker -H 192.168.20.3:8888 run -d --name web2 nginx
$ docker -H 192.168.20.3:8888 run -d --name web3 nginx
$ docker -H 192.168.20.3:8888 run -d --name web4 nginx
$ docker -H 192.168.20.3:8888 run -d --name web5 nginx

查看集群A、B内的容器
$ docker -H 192.168.20.3:8888 ps -a

结果如下:
CONTAINER ID        IMAGE                       COMMAND                CREATED             STATUS                    PORTS               NAMES
4cc1f232fb18        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-A/web5
e8327939721a        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-A/web3
35e08c4a1b43        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web4
9bd07067620d        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web2
626fe5b1dcfa        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-B/web1

其中 NAMES 列里面: / 前边是节点名字,后边是在节点内创建的容器名字。

使用Docker Machine搭建Swarm集群
http://dockone.io/article/227
需求
1. Docker版本1.4.0+
2. 两台节点主机:
  • A:192.168.20.1
  • B:192.168.20.2

检查节点Docker配置
1. 打开Docker配置文件(示例是centos 7)
vim /etc/sysconfig/docker

2. 添加 -H tcp://0.0.0.0:2375 OPTIONS
OPTIONS='-g /cutome-path/docker -H tcp://0.0.0.0:2375'

3. CentOS6.6 需要另外添加 -H unix:///var/run/docker.sock
OPTIONS='-g /mnt/docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

分别给A、B节点安装swarm
$ docker pull swarm

生成集群token(一次)
$ docker run --rm swarm create
6856663cdefdec325839a4b7e1de38e8

其中 6856663cdefdec325839a4b7e1de38e8 就是我们将要创建集群的token
添加节点A、B到集群
$ docker run -d swarm join --addr=192.168.20.1:2375 token://6856663cdefdec325839a4b7e1de38e8

$ docker run -d swarm join --addr=192.168.20.2:2375 token://6856663cdefdec325839a4b7e1de38e8

列出集群A、B节点
$ docker run --rm swarm list token://6856663cdefdec325839a4b7e1de38e8

192.168.20.1:2375
192.168.20.2:2375

集群管理:
在任何一台主机A、B或者C(C:192.168.20.3)上开启管理程序。例如在C主机开启:
$ docker run -d -p 8888:2375 swarm manage token://6856663cdefdec325839a4b7e1de38e8

现在你就可以在主机C上管理集群A、B:
$ docker -H 192.168.20.3:8888 info
$ docker -H 192.168.20.3:8888 ps
$ docker -H 192.168.20.3:8888 logs ...

在集群上运行容器
$ docker -H 192.168.20.3:8888 run -d --name web1 nginx
$ docker -H 192.168.20.3:8888 run -d --name web2 nginx
$ docker -H 192.168.20.3:8888 run -d --name web3 nginx
$ docker -H 192.168.20.3:8888 run -d --name web4 nginx
$ docker -H 192.168.20.3:8888 run -d --name web5 nginx

查看集群A、B内的容器
$ docker -H 192.168.20.3:8888 ps -a

结果如下:
CONTAINER ID        IMAGE                       COMMAND                CREATED             STATUS                    PORTS               NAMES
4cc1f232fb18        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-A/web5
e8327939721a        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-A/web3
35e08c4a1b43        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web4
9bd07067620d        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web2
626fe5b1dcfa        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-B/web1

其中 NAMES 列里面: / 前边是节点名字,后边是在节点内创建的容器名字。

使用Docker Machine搭建Swarm集群
需求
1. Docker版本1.4.0+
2. 两台节点主机:
  • A:192.168.20.1
  • B:192.168.20.2

检查节点Docker配置
1. 打开Docker配置文件(示例是centos 7)
vim /etc/sysconfig/docker

2. 添加 -H tcp://0.0.0.0:2375 OPTIONS
OPTIONS='-g /cutome-path/docker -H tcp://0.0.0.0:2375'

3. CentOS6.6 需要另外添加 -H unix:///var/run/docker.sock
OPTIONS='-g /mnt/docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

分别给A、B节点安装swarm
$ docker pull swarm

生成集群token(一次)
$ docker run --rm swarm create
6856663cdefdec325839a4b7e1de38e8

其中 6856663cdefdec325839a4b7e1de38e8 就是我们将要创建集群的token
添加节点A、B到集群
$ docker run -d swarm join --addr=192.168.20.1:2375 token://6856663cdefdec325839a4b7e1de38e8

$ docker run -d swarm join --addr=192.168.20.2:2375 token://6856663cdefdec325839a4b7e1de38e8

列出集群A、B节点
$ docker run --rm swarm list token://6856663cdefdec325839a4b7e1de38e8

192.168.20.1:2375
192.168.20.2:2375

集群管理:
在任何一台主机A、B或者C(C:192.168.20.3)上开启管理程序。例如在C主机开启:
$ docker run -d -p 8888:2375 swarm manage token://6856663cdefdec325839a4b7e1de38e8

现在你就可以在主机C上管理集群A、B:
$ docker -H 192.168.20.3:8888 info
$ docker -H 192.168.20.3:8888 ps
$ docker -H 192.168.20.3:8888 logs ...

在集群上运行容器
$ docker -H 192.168.20.3:8888 run -d --name web1 nginx
$ docker -H 192.168.20.3:8888 run -d --name web2 nginx
$ docker -H 192.168.20.3:8888 run -d --name web3 nginx
$ docker -H 192.168.20.3:8888 run -d --name web4 nginx
$ docker -H 192.168.20.3:8888 run -d --name web5 nginx

查看集群A、B内的容器
$ docker -H 192.168.20.3:8888 ps -a

结果如下:
CONTAINER ID        IMAGE                       COMMAND                CREATED             STATUS                    PORTS               NAMES
4cc1f232fb18        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-A/web5
e8327939721a        nginx:latest                "nginx -g 'daemon of   16 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-A/web3
35e08c4a1b43        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web4
9bd07067620d        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               443/tcp, 80/tcp     Host-B/web2
626fe5b1dcfa        nginx:1                     "nginx -g 'daemon of   23 hours ago        Up 16 hours               80/tcp, 443/tcp     Host-B/web1

其中 NAMES 列里面: / 前边是节点名字,后边是在节点内创建的容器名字。

使用Docker Machine搭建Swarm集群
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值