1.2.1 实验环境准备
实验环境: rockylinux8.8 可以去官网下载 下载 Rocky | Rocky Linux
主机名: xuegod63
主机 ip: 192.168.1.63(这个 ip 大家可以根据自己所在环境去配置,配置成静态 IP)
2g 内存、2vCPU、50G 硬盘
1、配置静态 ip 和主机名
1)把 ip 配置成静态的
配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33
内容改成如下:根据自己实际情况改
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static IPADDR=192.168.1.63 NETMASK=255.255.255.0 GATEWAY=192.168.1.2 DNS1=192.168.1.2 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=eui64 NAME=ens33 DEVICE=ens33 ONBOOT=YES
备注:BOOTPROTO=static,表示静态配置 ip
ONBOOT=YES,表示启动机器会自动启动网卡
网络配置文件改完生效方式:
重载网卡 ,重启网卡之前一定要重新载入一下配置文件,不然不能立即生效
重载网卡 nmcli connection reload
开启网卡 nmcli c up ens33
2)安装如下软件
[root@localhost ~]# yum install lrzsz vim-enhanced -y
备注:lrzsz 是为了能直接把电脑文件拖拽到 linux 机器的
vim-enhanced 是为了直接能用 vim 命令的,但是如果你装的 linux 系统是 dvd 桌面版,默认是能
直接用 vim 的
3)配置主机名
[root@localhost ~]# hostnamectl set-hostname xuegod63
[root@localhost ~]# bash
2、关闭 selinux、停掉防火墙
[root@xuegod63 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
注意:修改 selinux 配置文件之后,重启 linux 机器,selinux 才能永久生效
[root@xuegod63 ~]# getenforce #查看 selinux 是否关闭
Disabled
#显示 Disabled 说明 selinux 成功关闭
[root@xuegod63 ~]# systemctl stop firewalld && systemctl disable firewalld
3、配置时间同步
在 xuegod63 上执行如下:
开始安装 chrony 服务
[root@xuegod63 ~]# yum -y install chrony #如果没有该服务安装一下
[root@xuegod63 ~]# systemctl enable chronyd --now #设置 chronyd 开机启动并立即启
动 chronyd 服务同步网络时间
编辑 chronyd 配置文件,使用中国的时间服务器同步时间,速度更快
#文件最后增加如下内容 /etc/chrony.conf
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp1.tencent.com iburst
server ntp2.tencent.com iburst
echo "server ntp1.aliyun.com iburst > server ntp2.aliyun.com iburst > server ntp1.tencent.com iburst > server ntp2.tencent.com iburst" >> /etc/chrony.conf
4、开启包转发功能和修改内核参数
[root@xuegod63 ~]# modprobe br_netfilter
[root@xuegod63 ~]# cat > /etc/sysctl.d/docker.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
[root@xuegod63 ~]# sysctl -p /etc/sysctl.d/docker.conf
备注,内核参数相关说明:
1、net.bridge.bridge-nf-call-ip6tables = 1:
该参数启用了桥接网络设备(bridge)在 IPv6 包进行 iptables 规则过滤时,通过 netfilter 模块将数据包传递给 iptables 处理。这个参数通常用于虚拟化环境,如 Docker 等,以支持 IPv6 流量的转发
和安全过滤。如果不启用该参数,则在桥接设备上的 IPv6 流量无法进行 iptables 规则过滤。
2、net.bridge.bridge-nf-call-iptables = 1:
该参数启用了桥接网络设备(bridge)在 IPv4 包进行 iptables 规则过滤时,通过 netfilter 模块将
数据包传递给 iptables 处理。这个参数通常用于虚拟化环境,如 Docker 等,以支持 IPv4 流量的转发
和安全过滤。如果不启用该参数,则在桥接设备上的 IPv4 流量无法进行 iptables 规则过滤。
3、net.ipv4.ip_forward = 1:
该参数启用了 Linux 操作系统的 IP 转发功能,允许路由器将接收到的数据包转发到其他网络。这个
参数通常用于构建网络拓扑,如在一个局域网内部部署多台主机并让它们可以访问外部互联网。如果不启
用该参数,则 Linux 系统默认不会转发 IP 数据包。.
5、在线安装 docker
配置安装 docker-ce 需要的国内 yum 源(阿里云)
[root@xuegod63 ~]#yum -y install yum-utils
[root@xuegod63 ~]# yum-config-manager --add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、开始安装 docker
[root@xuegod63 ~]# yum install docker-ce wget net-tools nfs-utils gcc gcc-c++
make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo libaio-devel wget
ncurses-devel autoconf automake zlib-devel epel-release openssh-server socat ipvsadm
conntrack -y --allowerasing
备注,yum install 安装软件包,加参数—allowerasing,可以替换掉冲突的软件包
#启动 docker 服务
[root@xuegod63 ~]# systemctl start docker && systemctl enable docker
#查看 Docker 版本信息
[root@xuegod63 ~]# docker version
#查看 docker 状态
[root@xuegod63 ~]# systemctl status docker
显示 running,说明 docker 正常起来了