centos7下安装docker(21docker swarm集群创建)

创建swarm集群:

实验环境:盗图

centos7下安装docker(21docker swarm集群创建)

swarm-manager是manager node,swarm-worker1和swarm-worker2是worker node。

所有节点的docker版本均不低于v1.12,安装docker参考:http://www.cnblogs.com/lkun/p/7655495.html

操作系统:centos7

1.warm-manager上执行如下命令创建swarm: docker swarm init --advertise-addr 192.168.7.222

centos7下安装docker(21docker swarm集群创建)

--advertise-addr指定与其他node的通信地址

docke swarm init输出:

1.swarm创建成功,swarm-manager成为manager node

2.添加worker node执行的命令

3.添加manager node需要执行的命令

2.执行docker node ls产看当前的swarm的node,目前只有一个manager

centos7下安装docker(21docker swarm集群创建)

3.添加worker node,复制docker swarm init输出的添加worker node的命令,在docker1和docker2上分别执行

docker swarm join --token SWMTKN-1-2ksipdz0tbzb12wpxj0vsr0k5x2hgnh2hiypud2401m2c0n0k7-e73r10d4nodo1k170brw2r0bx 192.168.7.222:2377

centos7下安装docker(21docker swarm集群创建)

如果执行docker swarm join时出现以下报错:Error response from daemon: --cluster-store and --cluster-advertise daemon configurations are incompatible with swarm mode

centos7下安装docker(21docker swarm集群创建)

出现这个问题的原因是,我之前在我的docker host主机上添加过etcd服务,在/etc/systemd/system/docker.rvice.d/10-machine.conf下添加过以下的内容

centos7下安装docker(21docker swarm集群创建)

解决办法:1.cluster-store=etcd://192.168.7.222:2379删除

2.保存退出后,重启服务

systemctl daemon-reload

systemctl restart docker.service

centos7下安装docker(21docker swarm集群创建)

若是这个办法不能解决,请参考:www.chinacloud.cn/show.aspx?id=25332&cid=22

原因:

使用Swarm mode时不能配置—live-restore, centos yum源安装的docker会默认配置此项为true。需要手动禁止此项。

解决办法:

vim /etc/docker/daemon.json

“live-restore”:false

保存退出后重启docker 服务

现在可以通过docker node ls,看到两个worker node

centos7下安装docker(21docker swarm集群创建)

如果当时没有记下docker swarm init提示添加worker node 的内容,可以通过docker swarm join-token worker在manager上查看

centos7下安装docker(21docker swarm集群创建)

上一篇:sqlserver定时备份


下一篇:中断——中断描述符表的定义和初始化(一) (基于3.16-rc4)