安全卸载docker需分四步:先停止docker、docker.socket、containerd服务并终止残留进程;再按安装方式(apt/snap/脚本)精准卸载软件包;接着手动删除/var/lib/docker、/etc/docker等核心数据与配置目录;最后清理systemd服务文件、用户组及零散残留,确保重装无冲突。

安全卸载 Docker 并彻底清理残留,关键在于先停、再删、后扫——不是简单执行一条 remove 命令就完事。残留常藏在数据目录、配置文件、服务单元和用户组里,漏掉任何一项都可能影响后续重装或引发冲突。
一、停止所有相关服务与进程
避免文件被占用导致删除失败或不完整:
- 停止 Docker 主服务及关联组件:
sudo systemctl stop docker docker.socket containerd - 强制终止残留进程(如有):
sudo pkill -f 'docker|containerd' - 确认无运行中容器:
docker ps -aq | xargs -r docker rm -f
二、按安装方式精准卸载软件包
Ubuntu/Debian 系统常见三种安装来源,处理方式不同:
-
Apt 安装(最常见):用 purge 彻底清除包+配置
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -
Snap 安装:一条命令全清
sudo snap remove docker -
官方脚本安装(get-docker.sh):需手动删二进制与服务
sudo rm -f /usr/bin/docker* /etc/systemd/system/docker*.service
三、删除核心数据与配置目录
这些目录不会随包管理器自动清除,必须手动处理:
- Docker 运行时数据(含镜像、容器、卷、网络):
sudo rm -rf /var/lib/docker /var/lib/containerd - 全局配置与 socket 文件:
sudo rm -rf /etc/docker /run/docker.sock /var/run/docker.sock - 用户级配置(当前用户):
rm -rf ~/.docker
四、清理系统残留项
防止新装时出现“已存在服务”或权限报错:
- 移除 systemd 服务定义:
sudo rm -f /lib/systemd/system/docker*.service /etc/systemd/system/docker*.service.d - 重载服务配置:
sudo systemctl daemon-reload - 删除 docker 用户组(若不再需要):
sudo groupdel docker 2>/dev/null - 检查并清理零散残留:
dpkg -l | grep -i docker && sudo apt autoremove -y
执行完上述步骤后,运行 docker --version 或 which docker 应返回“command not found”。再用 find / -name "*docker*" 2>/dev/null | grep -E "(bin|lib|etc)" 快速扫描关键路径,基本可确认清理完成。











