当前位置: 首页 > news >正文

Docker 彻底卸载指南:CentOS/Ubuntu 双系统 5 步清理残留文件

Docker 彻底卸载指南:CentOS/Ubuntu 双系统 5 步清理残留文件

当 Docker 环境出现版本冲突、安装失败或需要迁移时,常规的卸载命令往往无法彻底清理系统。残留的配置文件、依赖项和缓存文件可能导致新安装的 Docker 出现各种诡异问题。本文将提供一套完整的解决方案,覆盖 CentOS 和 Ubuntu 两大主流 Linux 发行版。

1. 准备工作与状态检查

在开始卸载前,我们需要先确认当前 Docker 的运行状态和安装方式。不同安装方法(如 apt/yum 安装、二进制包安装)对应的清理步骤有所差异。

检查 Docker 服务状态

systemctl status docker

如果服务仍在运行,需要先停止:

sudo systemctl stop docker sudo systemctl disable docker

查看已安装的 Docker 组件

  • Ubuntu/Debian 系统:
    dpkg -l | grep docker
  • CentOS/RHEL 系统:
    rpm -qa | grep docker

提示:记录下这些输出结果,后续卸载时需要针对性地移除这些包。

2. 核心组件卸载

2.1 Ubuntu/Debian 系统卸载

对于基于 apt 的系统,执行以下命令移除主程序:

sudo apt-get purge -y docker-ce docker-ce-cli containerd.io

但这样还不够,我们还需要清理相关依赖:

sudo apt-get autoremove -y --purge docker-*

2.2 CentOS/RHEL 系统卸载

对于 yum 包管理系统,移除主程序的命令为:

sudo yum remove -y docker-ce docker-ce-cli containerd.io

老版本 Docker(称为 docker 或 docker-engine)需要额外处理:

sudo yum remove -y docker docker-common docker-selinux docker-engine

3. 残留文件深度清理

无论哪种系统,卸载包后都会留下大量配置文件和数据。以下是需要手动删除的关键目录:

目录路径内容类型删除命令
/var/lib/docker容器和镜像数据sudo rm -rf /var/lib/docker
/var/lib/containerdcontainerd 数据sudo rm -rf /var/lib/containerd
/etc/docker配置文件sudo rm -rf /etc/docker
/var/run/docker.sock套接字文件sudo rm -f /var/run/docker.sock
~/.docker用户配置rm -rf ~/.docker

完整清理脚本(适用于两种系统):

#!/bin/bash echo "Starting Docker deep clean..." for dir in /var/lib/docker /var/lib/containerd /etc/docker; do [ -d "$dir" ] && sudo rm -rvf "$dir" done [ -S /var/run/docker.sock ] && sudo rm -v /var/run/docker.sock [ -d ~/.docker ] && rm -rvf ~/.docker echo "Cleanup completed."

4. 依赖项与用户组清理

4.1 移除 Docker 用户组

如果之前创建过 docker 用户组,现在应该移除:

sudo groupdel docker

4.2 清理网络配置

Docker 会创建自定义网络接口和 iptables 规则,需要清理:

查看 Docker 网络接口

ip link show | grep docker

清理 iptables 规则

sudo iptables -F sudo iptables -X sudo systemctl restart iptables # 或 ufw/防火墙服务

4.3 移除仓库配置

删除 Docker 的软件源配置:

  • Ubuntu:
    sudo rm /etc/apt/sources.list.d/docker*
  • CentOS:
    sudo rm /etc/yum.repos.d/docker*

5. 验证与系统恢复

完成上述步骤后,建议执行以下检查:

验证卸载结果

which docker || echo "Docker binary not found" docker --version || echo "Docker not installed"

系统状态检查

  1. 检查关键目录是否已清空:
    ls -ld /var/lib/docker /etc/docker
  2. 检查进程是否完全退出:
    ps aux | grep -E 'docker|containerd'

可选:系统还原
如果需要完全恢复系统到安装前的状态,可以考虑:

# Ubuntu sudo apt-get update && sudo apt-get upgrade -y # CentOS sudo yum update -y

常见问题解决方案

在实际操作中可能会遇到以下问题:

  1. 文件被占用无法删除

    sudo lsof /var/lib/docker # 查看占用进程 sudo kill -9 <PID> # 结束相关进程
  2. 权限不足问题

    sudo -i # 切换到root再执行删除
  3. 残留的容器进程

    for cnt in $(docker ps -aq 2>/dev/null); do docker rm -f $cnt done
  4. 存储驱动差异: 如果使用过 devicemapper 等存储驱动,可能需要额外清理:

    sudo dmsetup remove_all sudo wipefs -a /dev/mapper/docker-*

通过这五个步骤的系统性清理,可以确保 Docker 环境被彻底移除,为新安装或系统恢复提供干净的基础环境。

http://www.jsqmd.com/news/1144384/

相关文章:

  • C#上位机Modbus协议解析:保持寄存器读写的工业级实现
  • 锂电池组电压平衡方案与MP2672A应用详解
  • Docker 容器 systemctl 权限问题:3 步排查与 systemd 镜像启动方案
  • A股年报文本分析:从7个关键词到64维度数字经济指标构建实战
  • 终极RPG游戏资源解密工具:RPG Maker Decrypter完全指南
  • Hackintool终极指南:从黑苹果三大痛点到专业级解决方案
  • 3款主流激光SLAM算法在冰达机器人上的实测对比:Gmapping vs Karto vs Cartographer
  • Ubuntu 22.04 部署 RabbitMQ 4.3:APT 源安装与 5 个关键安全配置
  • 通达信缠论量化插件:5分钟掌握专业级技术分析的终极指南
  • 国家中小学智慧教育平台电子课本下载工具:教师与学生的离线学习终极方案
  • 基于MA12070与PIC18F66K40的高保真音频系统设计
  • Jenkins 2.414 Docker 部署实战:3步完成容器化与数据持久化配置
  • A股股指期货:全维度解析(多表格结构化完整版)
  • EM3080-W解码芯片与STM32F217ZG的硬件协同设计
  • Ubuntu 20.04/22.04 服务器:2种方案配置Root用户SSH远程登录
  • Docker 容器 systemctl 权限问题排查:3 步解决 D-Bus 连接失败
  • Linux 内核 5.15+ 下 epoll 性能调优:百万连接压测,事件触发延迟降低 30%
  • LangChain与LangGraph协同开发LLM智能体实战指南
  • 只需5小时九个步骤,借助ChatGPT写出优质论文,全攻略指南
  • PHP 反序列化字符串逃逸详解:基于 ctfshow web262 的 2 种攻击模型与构造工具
  • 向量化检索增强数据库查询:用Embedding优化模糊匹配的工程实践
  • 像MUJI中国这样的线下门店型品牌小程序怎么做?2026全球5款AI/SAAS门店小程序开发工具:0代码做小程序,含零代码SAAS、AI编程、源码定制交付
  • iOS越狱新手指南:从困惑到掌控,3天解锁iPhone无限潜能的真实故事
  • Unreal Engine 游戏线程优化:5个蓝图Tick函数性能陷阱与解决方案
  • ChanlunX缠论插件:如何用算法思维解决传统技术分析的主观困境?
  • 4 种主流数据库 DNSlog 外带对比:MySQL/Oracle/MSSQL/PostgreSQL 利用函数与限制分析
  • Systemd vs rc.local:Ubuntu 20.04+ 开机自启动5个关键差异与选择指南
  • 3分钟快速转换B站缓存视频:m4s-converter完整使用指南
  • CentOS 7 离线部署 conntrack-tools 1.4.4:12个依赖包完整清单与自动化脚本
  • 3步深度解析猫抓cat-catch:浏览器资源嗅探架构与高级配置终极指南