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

如何在 Ubuntu 系统上完全移除 Docker 及其所有数据 - 指南

在使用 Ubuntu 进行开发或学习时,Docker 是一个不可或缺的工具。但有时,你可能需要卸载它,例如:为了解决版本冲突、清理环境,或者准备进行全新的安装。仅仅通过 apt remove 命令并不能完全清除 Docker 留下的所有文件和数据。

本文将提供一份详尽的指南,帮助你在 Ubuntu 系统上彻底、干净地卸载 Docker,涵盖所有主流的安装方式。

写在前面:卸载前的准备

在开始卸载之前,请务必注意:

  • 数据备份:卸载过程会删除所有 Docker 镜像、容器、卷和网络。这是一个不可逆的操作。如果你有任何需要保留的容器或数据卷,请确保提前备份。

  • 停止服务:首先停止所有正在运行的 Docker 容器和 Docker 服务本身。

    # 停止所有正在运行的容器
    docker stop $(docker ps -aq)
    # 停止 Docker 服务
    sudo systemctl stop docker docker.socket containerd

第一步:确定你的 Docker 安装方式

选择正确的卸载方法至关重要。你可以通过以下命令快速判断:

  • 检查安装来源
    # 如果是通过 Apt 安装,会显示包名(如 docker-ce)
    dpkg -l | grep docker
    # 如果是通过 Snap 安装,会显示 snap 包
    snap list | grep docker

接下来,请根据你的安装方式选择对应的卸载方法。


第二步:选择正确的卸载方法

方法一:卸载通过 Apt 安装的 Docker(最常见)

如果你是通过 Docker 官方仓库或 Ubuntu 仓库安装的,请使用此方法。

  1. 卸载 Docker 软件包
    使用 apt purge 命令不仅移除软件,还会删除配置文件。

    sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. 删除所有 Docker 数据(关键步骤)
    这一步将永久删除所有镜像、容器和卷。如果你确定要清理一切,请执行:

    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd
    • /var/lib/docker 是 Docker 默认存储所有数据的核心目录。
  3. 清理残留配置(可选)
    删除 Docker 的 Apt 源列表文件,并自动移除不再需要的依赖包。

    # 删除源列表(如果存在)
    sudo rm /etc/apt/sources.list.d/docker.list
    # 清理残留依赖
    sudo apt autoremove
方法二:卸载通过 Snap 安装的 Docker

如果你的安装命令包含 snap,那么卸载非常简单,一条命令即可搞定。Snap 会自动处理所有相关文件和依赖。

sudo snap remove docker
方法三:卸载使用官方脚本安装的 Docker

如果你曾经运行过 Docker 官方的便捷安装脚本(get-docker.sh),则需要手动卸载,步骤类似方法一:

  1. 删除二进制文件:脚本安装的文件通常在 /usr/bin/ 目录下。
    sudo rm -f /usr/bin/docker /usr/bin/dockerd /usr/bin/containerd /usr/bin/ctr ...
  2. 删除数据目录:同方法一,删除 /var/lib/docker/var/lib/containerd
  3. 删除系统服务文件
    sudo rm -f /lib/systemd/system/docker.service
    sudo rm -f /lib/systemd/system/containerd.service
    sudo systemctl daemon-reload  # 重新加载 systemd 配置

第三步:验证卸载是否成功

执行完卸载步骤后,最好验证一下是否已完全清除。

  1. 检查 Docker 命令:如果卸载成功,终端会提示“未找到命令”。

    docker --version
    # 输出示例:Command 'docker' not found...
  2. 检查服务状态:系统应该不再识别 Docker 服务。

    systemctl status docker
    # 输出示例:Unit docker.service could not be found.
  3. 检查数据目录:确认数据目录已被删除。

    ls /var/lib/ | grep docker
    # 如果没有任何输出,说明目录已成功删除

总结

为了让你一目了然,整个卸载过程的精髓可以总结为以下流程图,它清晰地展示了不同安装方式对应的卸载路径:

Apt安装
Snap安装
官方脚本安装
开始卸载Ubuntu Docker
确定安装方式
卸载软件包
sudo apt purge ...
删除数据目录
sudo rm -rf /var/lib/docker
验证卸载结果
一条命令卸载
sudo snap remove docker
手动删除二进制文件
与数据目录
卸载完成

希望这篇指南能帮助你干净利落地完成 Docker 的卸载,为后续的操作扫清障碍。如果你在操作过程中遇到任何问题,欢迎在评论区留言讨论!

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

相关文章:

  • 直流微电网这玩意儿玩起来是真带劲,尤其是当光伏、储能、电网、负载这几个模块凑一块儿的时候。今天咱们拆开揉碎了聊聊这几个核心模块的实现细节,手把手整点硬核代码
  • 2026年GEO优化源码搭建口碑推荐榜哪家好 - 源码云科技
  • 2026年GEO优化源码搭建口碑推荐榜哪家好 - 源码云科技
  • CloudWatch 使用技巧与方法大全
  • Linux定时任务cron完全指南:从写法到排错
  • 简化版文件封包解包程序
  • 简化版文件封包解包程序
  • 鸿蒙基于HarmonyOS的学生考勤系统的设计与实现
  • [Quicker] 空格预览 - 源码归档
  • 2026年GEO优化源码搭建口碑排行哪家好 - 源码云科技
  • 2025年不锈钢反应釜厂家推荐:无锡诚海精密化工设备有限公司引领高端定制,解析刮壁式、制氢及多功能反应釜技术新浪潮 - 品牌企业推荐师(官方)
  • 本地私有知识库:你的专属数字大脑
  • 智能一卡通系统(包括门禁、梯控、闸机、水控、电控、消费机、访客机、考勤机、在线巡更等)在日常运行中,可能出现操作调试工具使用不当、读写卡失败、开卡失败或上位机通讯不上等问题。怎么解决?看这里,全程免费
  • 2025年商用厨房设备厂家推荐:耀兴厨具领衔不锈钢排烟系统技术革新,解析行业十大实力品牌竞争优势 - 品牌企业推荐师(官方)
  • 本地私有知识库:你的专属数字大脑
  • Amphenol Sine Systems Corp 重载线缆在工程机械电气布线中的实践指南
  • 使用TensorRT优化MiniMax、GLM等国产大模型
  • 2025年东莞市共创广告有限公司品牌设计服务深度解析:企业文化墙、电子画册与6S策划一站式解决方案权威推荐 - 品牌企业推荐师(官方)
  • 2026年GEO优化源码搭建口碑排行榜哪家好 - 源码云科技
  • [CodeSnippet] webview_preview.cs
  • StruSP——Structure-aware Propagation Generation with Large Language Models for Fake News Detection
  • 基于TensorRT的大模型推理压测报告模板分享
  • HarmonyOS 手写笔交互开发指南(Pen Stylus Interaction)
  • 2025年洁净室彩钢板厂家权威推荐:江苏言信环境科技领衔,解析手工与机制夹芯板、玻镁铝蜂窝等八大品类技术优势与选购指南 - 品牌企业推荐师(官方)
  • 探索储能系统双向DCDC变换器的双闭环控制
  • 大模型Token计费精度提升:基于TensorRT时间戳
  • [CodeSnippet] webview_preview.cs (2025-12-27)
  • [CodeSnippet] 预览的代码.cs
  • Java毕业设计:导师模棱两可修改建议「精准解读+落地方案」
  • S盒的扩散特性和雪崩准则