在Rocky Linux 9系统中部署Docker环境
作者 hxwsq_华 于 2024-12-09 14:33:00.0 发表于 浙江 最近修改于 2025-04-07 15:18:38.0 本文浏览量:115人次
一、说明
1.1 操作系统版本
本文使用的操作系统版本:Rocky Linux 9.4
cat /etc/rocky-release

1.2 准备工作
1.更新系统软件包(选做,需服务器联网)
dnf -y update

2.卸载系统中自带的Docker软件包(安装前最好执行一下,以防后续安装时软件包有冲突)
1.卸载相关软件包
dnf -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine podman runc
2.删除相关文件
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

二、使用官方源安装Docker(需服务器联网)
2.1 添加官方软件源
dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

2.2 列出所有可用的版本
dnf list docker-ce --showduplicates | sort -r
dnf list docker-ce-cli --showduplicates | sort -r

2.3 安装最新版本的Docker
dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.4 启动Docker并设置开机自启动
systemctl enable --now docker

2.5 查看Docker版本
docker version

三、使用阿里源安装Docker(需服务器联网)
3.1 添加阿里软件源
yum -y install yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.2 列出所有可用的版本
dnf list docker-ce --showduplicates | sort -r
dnf list docker-ce-cli --showduplicates | sort -r

3.3 安装指定版本的Docker
此处以安装Docker-26.1.4版本为例
dnf -y install docker-ce-26.1.4 docker-ce-cli-26.1.4 containerd.io docker-buildx-plugin docker-compose-plugin

3.4 启动Docker并设置开机自启动
systemctl enable --now docker

3.5 查看Docker版本
docker version

四、使用RPM包安装Docker(服务器有网无网都可以)
4.1 获取RPM包
需要下载的RPM包:
containerd.io-<version>.<arch>.rpm
docker-ce-<version>.<arch>.rpm
docker-ce-cli-<version>.<arch>.rpm
docker-buildx-plugin-<version>.<arch>.rpm
docker-compose-plugin-<version>.<arch>.rpm
[注:version指RPM包的版本,arch指CPU架构(此处为x86_64)]
1.服务器有网时,可以直接用wget下载至服务器
2.服务器无网时,可以先将RPM包下载至本地再上传至服务器
3.获取最新版本的RPM安装包
wget https://download.docker.com/linux/rhel/9/x86_64/stable/Packages/containerd.io-1.7.23-3.1.el9.x86_64.rpm --no-check-certificate
wget https://download.docker.com/linux/rhel/9/x86_64/stable/Packages/docker-ce-27.3.1-1.el9.x86_64.rpm --no-check-certificate
wget https://download.docker.com/linux/rhel/9/x86_64/stable/Packages/docker-ce-cli-27.3.1-1.el9.x86_64.rpm --no-check-certificate
wget https://download.docker.com/linux/rhel/9/x86_64/stable/Packages/docker-compose-plugin-2.29.7-1.el9.x86_64.rpm --no-check-certificate
wget https://download.docker.com/linux/rhel/9/x86_64/stable/Packages/docker-buildx-plugin-0.17.1-1.el9.x86_64.rpm --no-check-certificate

4.2 安装Docker
方法一(适用于服务器有网的情况):
dnf -y install containerd.io-1.7.23-3.1.el9.x86_64.rpm docker-buildx-plugin-0.17.1-1.el9.x86_64.rpm docker-ce-27.3.1-1.el9.x86_64.rpm docker-ce-cli-27.3.1-1.el9.x86_64.rpm docker-compose-plugin-2.29.7-1.el9.x86_64.rpm

方法二(适用于服务器无网的情况):
rpm -ivh *.rpm --nodeps --force

4.3 启动Docker并设置开机自启动
systemctl enable --now docker

4.4 查看Docker版本
docker version

五、使用离线软件包安装Docker(适用于服务器无网的情况)
5.1 获取Docker离线软件包

5.2 安装Docker
1.解压安装包
tar -xvf docker-27.3.1.tgz
2.将解压出来的文件全部移动到/usr/bin目录下
mv ./docker/* /usr/bin/

5.3 将Docker服务配置成系统服务
cat << 'EOF' > /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF

5.4 启动Docker并设置开机自启动
启动Docker服务前确保系统的SELinux功能已关闭
systemctl daemon-reload
systemctl enable --now docker

5.5 查看Docker版本
docker version

六、安装Docker Compose
6.1 获取Docker Compose软件包

6.2 安装Docker Compose
将Docker Compose软件包移动至/usr/bin目录下并重命名、赋予可执行权限
mv ./docker-compose-linux-x86_64 /usr/bin/docker-compose
chmod 755 /usr/bin/docker-compose

6.3 查看Docker Compose版本
docker-compose version

七、卸载Docker
7.1 卸载Docker相关软件包
dnf -y remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

7.2 删除相关文件
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
