有时候,需要对不能上网或者网速很慢的服务器安装docker,这个时候就要想办法把docker所有的rpm包下载下来,或做成在线yum源,或直接用dnf localinstall *.rpm进行安装。

这里提供下载docker所需要的所有rpm包,并打包放到了蓝奏云和百度网盘里,供大家急用。

第一步:开启rpm包缓存

修改dnf.conf文件,增加keepcache=true

[root@rocky95-69 opt]# more /etc/dnf/dnf.conf 
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
keepcache=true

第二步:跑安装脚本(install.docker.sh),安装docker

[root@rocky95-69 opt]# more install.docker.sh 
#!/bin/bash

# Rocky Linux 8/9 和 CentOS 7 自动安装Docker并使用阿里云Docker源脚本

# 检查是否为root用户
if [ "$(id -u)" -ne 0 ]; then
echo "请使用root用户或通过sudo运行此脚本"
exit 1
fi

# 检测系统版本并设置包管理器
if [ -f /etc/redhat-release ]; then
if grep -q "CentOS Linux 7" /etc/redhat-release || grep -q "release 7" /etc/redhat-release; then
PKG_MANAGER="yum"
echo "检测到 CentOS 7,使用 yum 包管理器"
else
PKG_MANAGER="dnf"
echo "检测到 Rocky Linux 或其他 RHEL 系系统,使用 dnf 包管理器"
fi
else
echo "不支持的系统,仅支持 Rocky Linux 和 CentOS"
exit 1
fi

# 卸载旧版本Docker
echo "卸载旧版本Docker..."
$PKG_MANAGER remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
buildah

# 安装依赖
echo "安装依赖..."
if [ "$PKG_MANAGER" = "yum" ]; then
# CentOS 7 需要额外安装 device-mapper-persistent-data 的源
yum install -y yum-utils device-mapper-persistent-data lvm2
else
dnf install -y yum-utils device-mapper-persistent-data lvm2
fi

# 添加阿里云Docker源
echo "设置阿里云Docker仓库..."
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 替换仓库中的下载URL为阿里云镜像
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

# CentOS 7 需要额外步骤
if [ "$PKG_MANAGER" = "yum" ]; then
# 确保有正确的依赖
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.28-3.1.el7.x86_64.rpm || t
rue
fi

# 更新yum缓存
echo "更新yum缓存..."
if [ "$PKG_MANAGER" = "yum" ]; then
yum makecache fast
else
dnf makecache
fi

# 安装Docker CE
echo "安装Docker CE..."
if [ "$PKG_MANAGER" = "yum" ]; then
yum install -y docker-ce docker-ce-cli containerd.io
else
dnf install -y docker-ce docker-ce-cli containerd.io
fi

# 配置阿里云Docker镜像加速器
echo "配置阿里云Docker镜像加速器..."
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.imgdb.de",
"https://docker-0.unsee.tech",
"https://docker.hlmirror.com",
"https://docker.1ms.run",
"https://func.ink",
"https://lispy.org",
"https://docker.xiaogenban1993.com"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF

# CentOS 7 可能需要调整存储驱动
if [ "$PKG_MANAGER" = "yum" ]; then
# 检查内核是否支持 overlay2
lsmod | grep overlay
if [ $? -eq 0 ]; then
echo "检测到内核不支持 overlay2,使用 devicemapper 驱动"
sed -i 's/"storage-driver": "overlay2"/"storage-driver": "devicemapper"/' /etc/docker/daemon.json
fi
fi

# 启动Docker并设置开机自启
echo "启动Docker服务..."
systemctl start docker
systemctl enable docker

# 验证安装
echo "验证Docker安装..."
docker version

echo "Docker安装完成!"
echo "若加速效果不好,请记得:"
echo "1. 编辑/etc/docker/daemon.json配置你的专属阿里云镜像加速器地址"
echo "2. 运行'systemctl restart docker'使配置生效"

第三步:提取docker所需要的rpm包

find /var/cache/dnf -name "*.rpm" -exec cp {} /opt/docker-offline-install-rockylinux95/ \;

第四步:给文件夹打成压缩包

tar zcf docker-offline-install-rockylinux95.tar.gz docker-offline-install-rockylinux95/

第五步:上传到百度网盘和蓝奏云

百度网盘:docker离线文件
链接: https://pan.baidu.com/s/1e-_VB-jiqAe9WV9nQFYQTg?pwd=ig6a 提取码: ig6a

 

 

 

 

 

 

 

 

声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。