Docker CE 24.0 在 CentOS 7/8 的 5 步安装与 3 步卸载完整流程

📅 2026/7/8 0:01:32 👁️ 阅读次数 📝 编程学习
Docker CE 24.0 在 CentOS 7/8 的 5 步安装与 3 步卸载完整流程

Docker CE 24.0 在 CentOS 7/8 的完整安装与深度清理指南

1. 环境准备与系统检查

在开始安装Docker CE 24.0之前,我们需要确保系统环境满足基本要求。CentOS 7和8虽然内核版本不同,但安装流程基本一致。首先检查系统版本和内核:

cat /etc/redhat-release uname -r

关键要求

  • CentOS 7:内核版本≥3.10
  • CentOS 8:内核版本≥4.18
  • 64位系统架构
  • 至少2GB可用内存(生产环境建议4GB+)

对于已安装旧版Docker的环境,建议先执行彻底清理:

sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine

注意:如果系统从未安装过Docker,此步骤会提示"未找到软件包",可安全忽略。

2. 安装Docker CE 24.0的完整流程

2.1 配置稳定的软件仓库

首先安装必要的工具包并设置仓库:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

针对国内用户,推荐替换为阿里云镜像加速:

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://<你的ID>.mirror.aliyuncs.com"] } EOF

2.2 安装特定版本Docker CE

默认会安装最新版本,若要指定24.0版本:

sudo yum install -y docker-ce-24.0.0 docker-ce-cli-24.0.0 containerd.io

验证安装版本:

docker --version

2.3 服务启动与验证

启动Docker并设置开机自启:

sudo systemctl start docker sudo systemctl enable docker

运行测试容器验证安装:

sudo docker run hello-world

成功运行后,您应该看到"Hello from Docker!"的欢迎信息。

3. 生产环境关键配置

3.1 非root用户操作权限

为避免每次使用sudo,将用户加入docker组:

sudo usermod -aG docker $USER newgrp docker # 立即生效

3.2 存储驱动优化

检查当前存储驱动:

docker info | grep "Storage Driver"

对于CentOS 7/8,推荐使用overlay2:

sudo tee /etc/docker/daemon.json <<-'EOF' { "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } EOF sudo systemctl restart docker

3.3 日志轮转配置

防止日志文件过大:

sudo tee /etc/docker/daemon.json <<-'EOF' { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } EOF sudo systemctl restart docker

4. 彻底卸载Docker CE 24.0

4.1 标准卸载流程

  1. 停止所有容器服务:
docker kill $(docker ps -q)
  1. 卸载软件包:
sudo yum remove -y docker-ce docker-ce-cli containerd.io
  1. 删除残留文件:
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd

4.2 深度清理检查清单

为确保完全清除,执行以下附加步骤:

  1. 检查并删除相关配置文件:
sudo rm -rf /etc/docker sudo rm -rf /etc/systemd/system/docker.service.d
  1. 清理依赖包:
sudo yum autoremove -y
  1. 删除用户组(可选):
sudo groupdel docker

5. 常见问题解决方案

5.1 安装失败排查

错误现象可能原因解决方案
无法连接仓库网络问题检查防火墙或配置国内镜像
依赖冲突旧版本残留执行彻底卸载后重试
内核不兼容系统版本过低升级内核或使用兼容版本

5.2 容器网络问题

如果遇到容器网络连接问题,尝试重置网络配置:

sudo systemctl stop docker sudo rm -rf /var/lib/docker/network sudo systemctl start docker

5.3 存储空间管理

定期清理无用资源:

docker system prune -a -f

查看磁盘使用情况:

docker system df

6. 版本升级与回滚策略

6.1 安全升级步骤

  1. 备份重要容器:
docker export -o container_backup.tar my_container
  1. 升级到指定版本:
sudo yum update docker-ce-24.0.0 docker-ce-cli-24.0.0

6.2 版本回滚方法

  1. 列出可用版本:
yum list docker-ce --showduplicates | sort -r
  1. 安装特定旧版本:
sudo yum downgrade docker-ce-<VERSION_STRING>

7. 性能调优实践

7.1 内核参数优化

编辑/etc/sysctl.conf添加:

vm.max_map_count=262144 net.ipv4.ip_forward=1 fs.file-max=2097152

应用更改:

sudo sysctl -p

7.2 资源限制配置

创建或修改/etc/docker/daemon.json:

{ "default-ulimits": { "nofile": { "Name": "nofile", "Hard": 65536, "Soft": 65536 } } }

7.3 生产环境推荐配置

配置项推荐值说明
日志驱动json-file兼容性最好
日志轮转10MB×3平衡存储与可追溯性
存储驱动overlay2性能与稳定性兼顾
cgroup驱动systemd与systemd更好集成

8. 安全加固措施

8.1 用户命名空间隔离

启用用户隔离可降低容器突破风险:

sudo tee /etc/docker/daemon.json <<-'EOF' { "userns-remap": "default" } EOF

8.2 容器运行时保护

限制容器能力:

docker run --cap-drop ALL --cap-add NET_BIND_SERVICE -d nginx

8.3 镜像安全扫描

使用内置工具检查镜像漏洞:

docker scan hello-world

9. 监控与日志管理

9.1 基础监控命令

查看实时资源使用:

docker stats

检查容器详细配置:

docker inspect <container_id>

9.2 日志收集技巧

查看特定容器日志:

docker logs --tail 100 -f <container_name>

导出日志到文件:

docker logs <container_id> >& container.log

10. 最佳实践总结

  1. 版本控制:生产环境应固定Docker版本,避免自动升级
  2. 配置即代码:将daemon.json纳入版本控制系统
  3. 资源隔离:为关键容器配置CPU/内存限制
  4. 定期维护:每月执行一次系统清理和健康检查
  5. 备份策略:重要容器数据应定期导出备份

对于持续集成环境,建议使用以下清理脚本:

#!/bin/bash # 停止所有容器 docker stop $(docker ps -aq) # 清理无用资源 docker system prune -af # 检查Docker状态 systemctl status docker | grep Active