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 环境。

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

相关推荐
HideF3 小时前
Linux sudo
linux
FlightYe4 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
螺蛳粉 螺蛳粉4 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
蹊黎4 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
牛马鸡niumasi6 小时前
【Linux】C语言文件操作
linux
say_fall6 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii6 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
AI+程序员在路上7 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
默|笙7 小时前
【Linux网络】传输层协议TCP(1)---TCP报文介绍
linux·网络·tcp/ip
相思难忘成疾7 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes