如何在 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 的卸载,为后续的操作扫清障碍。如果你在操作过程中遇到任何问题,欢迎在评论区留言讨论!

posted @ 2025-12-27 21:23  yangykaifa  阅读(8)  评论(0)    收藏  举报