一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Docker 卸载与清理残留如何做

时间:2026-09-04 09:50:47 编辑:袖梨 来源:一聚教程网

真正干净卸载Docker需分步操作:先备份镜像、卷、配置等关键数据;再停止并删除所有容器、镜像、网络及卷;接着手动清除/var/lib/docker、/etc/docker等核心目录和systemd服务文件;最后验证docker命令不存在、目录无残留、服务未注册。

卸载 Docker 不能只靠包管理器删软件,残留的镜像、容器、卷、配置和系统服务会干扰重装或占用大量空间。真正干净的卸载需要分步操作:先备份关键数据,再逐层清理运行时资源,最后清除系统级文件和配置。

一、卸载前务必备份重要数据

删除不可逆,尤其镜像和卷里的业务数据。重点备份以下几类:

  1. 镜像:用 docker save -o backup.tar nginx:latest 导出单个或多个镜像
  2. 卷数据:Docker 卷默认在 /var/lib/docker/volumes/,直接复制对应目录到安全位置
  3. 配置文件:保留 /etc/docker/daemon.json(全局配置)和 ~/.docker/config.json(用户登录信息)

二、清理运行时资源(容器、镜像、网络、卷)

这部分可分步执行,避免误删正在使用的资源:

  1. 停止并删除所有容器:docker stop $(docker ps -aq) && docker rm -f $(docker ps -aq)
  2. 删除所有镜像:docker rmi -f $(docker images -q)(注意:需确保无容器依赖该镜像)
  3. 清理无用资源(推荐日常使用):docker system prune -a -f,它会删掉悬空镜像、未使用的网络、构建缓存和已停止容器
  4. 手动清空卷(谨慎):docker volume rm $(docker volume ls -q),仅在确认卷中无关键数据时执行

三、彻底删除 Docker 文件与系统配置

包管理器卸载后,这些目录和服务仍存在,必须手动清除:

  1. 删除核心数据目录:sudo rm -rf /var/lib/docker /var/lib/containerd
  2. 删除配置与运行时文件:sudo rm -rf /etc/docker /run/docker.sock /var/run/docker.sock
  3. 清理用户级配置:rm -rf ~/.docker
  4. 移除 systemd 服务定义:sudo rm -f /lib/systemd/system/docker*.service /etc/systemd/system/docker*.service.d,然后执行 sudo systemctl daemon-reload
  5. 删除 docker 用户组(如不再需要):sudo groupdel docker 2>/dev/null

四、验证是否清理干净

执行以下检查确认无残留:

  1. 运行 docker version 应报“command not found”
  2. 检查目录:ls /var/lib/docker 应提示“no such file or directory”
  3. 查看服务状态:systemctl list-unit-files | grep docker 不应有输出
  4. 搜索零散文件:find / -name "*docker*" 2>/dev/null | grep -E "(bin|sbin|lib)",对非系统路径下的残留酌情处理

热门栏目