1.安装 docker 容器并配置镜像加速器

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 正常起来了

相关推荐
荒Huang23 分钟前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
海阔天空_201333 分钟前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
桥田智能36 分钟前
气爪在自动化装配线中是如何应用的?
运维·自动化
MonkeyKing_sunyuhua38 分钟前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林1 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€2 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘2 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
其乐无涯2 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流2 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩2 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3