目录
[1. 更改防火墙设置](#1. 更改防火墙设置)
[2. 安装 Docker 组件](#2. 安装 Docker 组件)
[3. 启动 Docker 服务,并检查服务状态。](#3. 启动 Docker 服务,并检查服务状态。)
[4. 修改配置文件,监听同一端口号。](#4. 修改配置文件,监听同一端口号。)
[5. 下载 Swarm 组件](#5. 下载 Swarm 组件)
[6. 创建集群,加入节点](#6. 创建集群,加入节点)
[7. 启动集群](#7. 启动集群)
[8. 查询集群节点信息](#8. 查询集群节点信息)
[9. 查询集群具体信息](#9. 查询集群具体信息)
[10. 查询集群活动状态](#10. 查询集群活动状态)
[11. 在集群内部署应用,并查询集群信息。](#11. 在集群内部署应用,并查询集群信息。)
[12. 查询集群内部容器活动状态。](#12. 查询集群内部容器活动状态。)
[13. 在集群内创建应用,实现自动部署。](#13. 在集群内创建应用,实现自动部署。)
1. 更改防火墙设置
bash
hostnamectl set-hostname node1 # 设置主机名为"node1" 需要重启虚拟机生效
iptables -F # 清除防火墙规则中的所有过滤规则
iptables -X # 删除防火墙中用户定义的链
iptables -Z # 将防火墙计数器归零,用于统计流量
/usr/sbin/iptables-save # 保存当前的防火墙规则
bash
vi /etc/sysctl.conf
bash
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
"/etc/sysctl.conf" 8L, 318C written
# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
2. 安装 Docker 组件
bash
yum install -y docker-io
3. 启动 Docker 服务,并检查服务状态。
bash
systemctl start docker
systemctl status docker
4. 修改配置文件,监听同一端口号。
bash
vi /usr/lib/systemd/system/docker.service
修改之前可以先备份一下!添加下图所示配置
bash
/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock\
修改配置以后重启服务,如果重启失败,那么就是配置文件写错了,再仔细检查一下。
bash
systemctl daemon-reload
systemctl restart docker
netstat -anpl | grep 2375
bash
sudo systemctl restart docker
5. 下载 Swarm 组件
bash
docker pull swarm
bash
cd /root
6. 创建集群,加入节点
bash
vi cluster
bash
192.168.9.10:2375 # ip地址用虚拟机的
192.168.9.13:2375 # 克隆第一台虚拟机
7. 启动集群
bash
docker run -d -p 2376:2375 -v $(pwd)/cluster:/tmp/cluster swarm manage file:///tmp/cluster
8. 查询集群节点信息
bash
docker run --rm -v $(pwd)/cluster:/tmp/cluster --privileged swarm list file:///tmp/cluster
1. 获取加入集群所需的令牌!!
bash
docker swarm join-tocken worker
2. 复制上面的输出,在第二台虚拟机执行加入命令
bash
docker swarm join --token SWMTKN-1-30wggx60wr9qu1inn66kthwl6wtoxhbclhsv1nbzb73bbf6m8a-9a57fl4du8bhv5sfo48rz0bwn 192.168.9.10:2377
3. 查看第一台虚拟机
bash
docker node ls
9. 查询集群具体信息
bash
docker -H 192.168.9.10:2375 info
10. 查询集群活动状态
bash
docker ps -a
11. 在集群内部署应用,并查询集群信息。
bash
docker -H 192.168.9.10:2375 run -idt busybox
bash
docker -H 192.168.9.10:2375 info
12. 查询集群内部容器活动状态。
bash
docker -H 192.168.9.10:2375 ps -a
13. 在集群内创建应用,实现自动部署。
bash
docker -H 192.168.9.10:2375 run -idt busybox
bash
docker -H 192.168.9.10:2375 run -idt busybox
bash
docker -H 192.168.9.10:2375 ps -a