Ubuntu 系统上完全卸载 Docker

以下是在 Ubuntu 系统上完全卸载 Docker 的分步指南

一.卸载验证

二.卸载步骤

1.停止 Docker 服务
bash 复制代码
sudo systemctl stop docker.socket
sudo systemctl stop docker.service
2.卸载 Docker 软件包
bash 复制代码
# 移除 Docker 核心组件
sudo apt-get purge -y \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin

# 移除残留依赖
sudo apt-get autoremove -y --purge
3.删除 Docker 数据和配置文件
bash 复制代码
# 删除 Docker 数据目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# 删除配置文件
sudo rm -rf /etc/docker
sudo rm -rf /etc/containerd

# 删除用户组(如有)
sudo groupdel docker
4.清理仓库配置
bash 复制代码
# 删除 Docker 官方仓库源
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/keyrings/docker.gpg
5.删除残留镜像和容器(可选)
bash 复制代码
# 强制删除所有容器、镜像、卷和网络(谨慎操作!)
sudo docker rm -f $(sudo docker ps -aq) 2>/dev/null
sudo docker rmi -f $(sudo docker images -aq) 2>/dev/null
sudo docker volume prune -f
sudo docker network prune -f
6.验证卸载
bash 复制代码
# 检查 Docker 命令是否存在(应提示未找到)
which docker

# 检查 Docker 服务状态(应提示无此服务)
systemctl status docker

三.卸载后注意事项

  1. 用户组清理

    如果之前将用户加入过 docker 组,需手动编辑 /etc/group 文件:

    bash 复制代码
    sudo nano /etc/group  # 删除用户行中的 ",docker"
  2. 镜像加速残留

    如果配置过镜像加速器,检查并清理以下文件:

    bash 复制代码
    sudo rm -f /etc/docker/daemon.json
  3. 内核模块残留(可选)

    移除 Docker 相关内核模块:

    bash 复制代码
    sudo modprobe -r overlay br_netfilter

四.卸载对比表

操作 影响范围 是否必须
apt-get purge 移除软件包和配置文件
rm -rf /var/lib/docker 删除所有容器、镜像和卷数据 推荐
groupdel docker 清理用户组权限 可选
清理仓库源 防止残留仓库干扰后续安装 推荐

五.常见问题

问题 1:卸载后 /var/lib/docker 仍存在
bash 复制代码
# 手动删除(可能需 root 权限)
sudo rm -rf /var/lib/docker
问题 2:重新安装时报错
bash 复制代码
# 完全清理后重试
sudo apt-get update
sudo apt-get install docker-ce

通过以上步骤,可彻底清除 Ubuntu 系统中的 Docker 环境。

希望这篇文章对你有所帮助!如果觉得不错,别忘了点赞收藏哦!

相关推荐
mCell2 小时前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记2 小时前
GPU运维常见问题处理
linux·运维·gpu
誰能久伴不乏3 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔3 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula3 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-3 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw4 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
勇哥的编程江湖5 小时前
starrocks官网docker部署mysql无法连接
运维·docker·容器
van叶~6 小时前
Linux网络-------1.socket编程基础---(TCP-socket)
linux·网络·tcp/ip
风吹落叶花飘荡6 小时前
Ubuntu系统 系统盘和数据盘扩容具体操作
linux·运维·ubuntu