927 字
5 分钟
彻底卸载 Docker:终极指南,一键清除所有痕迹
2024-09-25

彻底卸载 Docker:终极指南,一键清除所有痕迹#

本指南提供详尽的步骤,确保彻底卸载 Docker,移除所有残留文件和配置。 务必仔细阅读并按照指示执行,否则可能导致系统出现问题。

重要提示:

  • 备份数据: 在执行任何卸载步骤之前,强烈建议备份任何重要的数据,以防发生意外情况。
  • 管理员权限: 所有命令都需要使用 root 用户或具有 sudo 权限的用户执行。
  • 谨慎操作: 命令中的路径和文件名需要仔细检查,错误的删除操作可能导致系统损坏。

卸载步骤

1. 停止 Docker 服务:

首先停止所有正在运行的 Docker 服务,确保没有进程占用资源。

Terminal window
sudo systemctl stop docker

2. 删除所有容器:

删除所有正在运行和已停止的 Docker 容器。 docker ps -aq 命令列出所有容器的 ID。

Terminal window
sudo docker rm $(docker ps -aq)

3. 删除所有镜像:

删除所有 Docker 镜像。 docker images -q 命令列出所有镜像的 ID。

Terminal window
sudo docker rmi $(docker images -q)

4. 移除 Docker 软件包:

使用 apt-get 移除 Docker 的核心软件包。

Terminal window
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo apt-get autoremove

5. 删除 Docker 数据目录:

此步骤会移除所有 Docker 的数据,包括卷、网络和镜像缓存。 重要:此操作不可逆转,请谨慎操作。

Terminal window
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker

6. 删除 Docker 配置文件:

移除 systemd 管理的 Docker 服务配置文件。

Terminal window
sudo rm /etc/systemd/system/docker.service
sudo rm /etc/systemd/system/docker.socket

7. 删除 Docker 用户组:

如果存在 Docker 用户组,将其删除。

Terminal window
sudo groupdel docker

8. 清理残留依赖 (重要!)

这是清除残留组件的关键步骤。

  • 列出 Docker 相关软件包:

    Terminal window
    dpkg -l | grep docker

    该命令将显示所有与 Docker 相关的软件包列表。 仔细检查输出,记录下所有列出的软件包名称。

  • 移除未完全卸载的软件包: 运行以下命令移除列出的软件包:

    Terminal window
    dpkg -l | grep docker | awk '{print $2}' | sudo apt-get purge -y

    或更安全的方法,逐个包移除,确认删除的包是正确的: 例如 sudo apt-get purge <package_name>

  • 清理配置和缓存:

    Terminal window
    sudo apt-get clean
    sudo apt-get autoclean
  • 检查rc状态包并强制删除

    Terminal window
    dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg -P

    这段命令会找出所有状态为 “rc” 的包,并强制删除它们。 这些包通常是因为卸载过程中出现错误而留下的。

9. 禁用并清理 systemd 服务 (可选,但建议)

有时候,即使删除了配置文件,systemd 服务仍然会残留。为了确保彻底清理,可以执行以下步骤:

Terminal window
sudo systemctl disable docker.service
sudo systemctl disable docker.socket
sudo systemctl reset-failed docker.service #如果服务是失败状态

10. 验证卸载:

确认 Docker 已被完全卸载。

  • 检查软件包列表:

    Terminal window
    dpkg -l | grep docker

    如果此命令没有任何输出,则表示已成功卸载 Docker。

  • 尝试执行 Docker 命令:

    Terminal window
    docker --version

    应该会显示 “command not found” 或类似错误信息,表明 Docker 已不可用。

重要提示:

  • 某些图形界面工具可能会创建 Docker 相关的配置或快捷方式,需要手动删除。
  • 如果使用了第三方工具或管理 Docker,需要按照其提供的说明进行卸载。
  • 在生产环境中执行这些步骤时,请务必小心谨慎,并确保备份所有重要数据。

通过遵循本指南,您应该能够完全卸载 Docker,并清除所有相关的文件和配置。 如果在执行过程中遇到任何问题,请参考 Docker 官方文档或寻求社区支持。

彻底卸载 Docker:终极指南,一键清除所有痕迹
https://blog.wlens.top/posts/彻底删除-docker/
作者
Lao Wang
发布于
2024-09-25
许可协议
CC BY-NC-SA 4.0