1.首先有至少两个主机进行试验,本文中有两个节点,一个是work一个是manager。 2.下面的操作是在docker安装完成并且状态是active的情况下进行的。有关docker安装的笔记可以参考:https://blog.csdn.net/qq_42680332/article/details/107845111
(1)registry镜像(docker主节点)
docker load < registry-2.7.1.tar(2)启动registry(docker主节点)
docker run --restart=always -d -p 5000:5000 --name registry registry:2.7.1(3)修改docker配置文件(所有节点)
vi /etc/docker/daemon.json添加私有仓储地址 “insecure-registries”: [“主节点IP:5000”],
{ "insecure-registries": [], "insecure-registries": ["10.0.0.1:5000"], "max-concurrent-downloads": 20, "max-concurrent-uploads": 10, "debug": false, "data-root": "/usr/local/docker", "log-opts": { "max-size": "100m", "max-file": "5" } }(4)重新启动docker(所有节点) systemctl restart docker
(1)修改各节点主机名及hosts,用于角色区分
hostnamectl set-hostname manager hostnamectl set-hostname worker1 vi /etc/hosts 10.0.0.11 work1 10.0.0.1 manager(2)修改docker.service文件
vi /etc/systemd/system/docker.service找到ExecStart 添加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock修改完毕重启docker服务
systemctl daemon-reload && systemctl restart docker关闭防火墙
systemctl stop firewalld && systemctl disable firewalld(3)选举集群管理节点即manager节点(docker 主节点) 在需要被选举为manager节点的机器上操作即可,此处为10.0.0.1
docker swarm init --advertise-addr 10.0.0.1(4)在其他节点操作,将集群中其他节点加入加群,添加命令即上一步中选举manager节点后提供给我们的那条
docker swarm join --token SWMTKN-1-2771mz2t27lrylx42h8ikpn5z1n8bnjj0j6j3y6hm9vzo9py41-6vbi5pdbje0qlnds0kx95ducq 10.0.0.1:2377(5)查看当前集群信息,在manager节点查看
docker node ls