1. CentOS 7 彻底重装 Docker CE 完整指南
在 Linux 服务器运维工作中,Docker 的版本管理和彻底重装是个常见需求。最近我在维护一批 CentOS 7 服务器时就遇到了这样的场景:由于历史遗留的 Docker 版本过于陈旧,导致无法使用新特性,且存在安全风险。经过多次实践,我总结出一套完整的 Docker CE 彻底重装方案,特别适合需要完全清理旧版本再安装新版的场景。
为什么需要彻底重装而不是简单升级?因为在某些情况下,残留的配置文件或数据可能导致新版本 Docker 运行异常。特别是在跨大版本升级时,彻底重装能确保环境的纯净性。
1.1 准备工作
在开始操作前,建议先做好以下准备:
- 确保你有服务器的 root 权限或 sudo 权限
- 检查当前系统版本:
cat /etc/redhat-release应显示 CentOS 7.x - 备份重要的 Docker 数据(如果有)
- 记录当前 Docker 容器和镜像的状态(
docker ps -a和docker images)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 彻底卸载旧版 Docker
2.1 停止 Docker 服务
首先需要停止所有正在运行的 Docker 服务和容器:
bash复制# 停止所有正在运行的容器
docker stop $(docker ps -aq) 2>/dev/null || true
# 停止 Docker 服务
sudo systemctl stop docker
sudo systemctl stop docker.socket # 如果存在
注意:
2>/dev/null || true是为了避免当没有运行容器时报错导致脚本中断。
2.2 卸载 Docker 软件包
CentOS 上 Docker 可能安装了多个相关软件包,需要全部卸载:
bash复制sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
docker-ce \
docker-ce-cli \
containerd.io
这个命令会移除所有 Docker 相关的 RPM 包,包括:
- 主程序包(docker-ce)
- 客户端工具(docker-ce-cli)
- 容器运行时(containerd.io)
- 其他相关依赖
2.3 清理残留文件和目录
卸载软件包后,还需要手动删除残留的配置和数据文件:
bash复制# 删除 Docker 数据目录(包含镜像、容器、卷
