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

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

相关推荐
张小姐的猫6 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生7 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
用户233376852187 小时前
Docker 端口"时通时不通"的排查实战
docker
做个文艺程序员8 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
imc.118 小时前
linux基础IO
linux·运维·服务器
梦梦代码精10 小时前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范
BelongPanda10 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
小的博客10 小时前
windows下安装Docker Desptop
运维·docker·容器
酷可达拉斯10 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983410 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器