Docker容器_Swarm集群构建_学习记录 (3)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37770023/article/details/84500843

Docker容器_学习记录 (3)

swarm集群构建:

官方文档:

https://docs.docker.com/swarm/install-manual/#step-5-create-swarm-cluster  

环境:centos7
A: 192.168.183.129(node01)
B: 192.168.183.130(node02)
C: 192.168.183.128(mg01)


1.  A/B/C:
#yum install docker

编辑配置文件
Edit /etc/docker/daemon.json. Create it if it does not exist. Assuming the file was empty, its contents should be:
{
  "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}

#systemctl restart docker

2. 分别给A、B节点安装swarm
#docker pull swarm

3. C节点:
#docker pull progrium/consul
#docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap -advertise=<consul0_ip>
#docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap -advertise=192.168.183.128

为保证服务器或docker服务重启后容器能自动启动,建议使用如下命令:
#docker run -d --restart unless-stopped -p 8500:8500 --name=consul progrium/consul -server -bootstrap -advertise=192.168.183.128


5. create swarm cluster:


#docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise <manager0_ip>:4000 consul://<consul0_ip>:8500

#docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise 192.168.183.128:4000 consul://192.168.183.128:8500

#docker run -d  --restart unless-stopped -p 4000:4000 swarm manage -H :4000 --replication --advertise 192.168.183.128:4000 consul://192.168.183.128:8500


6. Connect to node0 and node1 in turn and join them to the cluster
node01 
#docker run -d swarm join --advertise=192.168.183.130:2375 consul://192.168.183.128:8500

#docker run -d  --restart unless-stopped swarm join --advertise=192.168.183.130:2375 consul://192.168.183.128:8500

node02 
#docker run -d swarm join --advertise=192.168.183.129:2375 consul://192.168.183.128:8500

#docker run -d  --restart unless-stopped swarm join --advertise=192.168.183.129:2375 consul://192.168.183.128:8500

Start the swarm manager
#docker swarm init 然后在manager节点运行提示
然后根据提示在其他节点内执行

在其他节点内执行如下:

(注意)如果出现下列错误:

docker swarm:Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable

可能是防火墙没关的问题。

#docker node ls (检查节点)

#docker service create --replicas 2 -p 81:80 --name httpd docker.io/httpd:latest

猜你喜欢

转载自blog.csdn.net/weixin_37770023/article/details/84500843