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

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

相关推荐
invicinble8 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷8 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
半桔8 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
engchina9 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
HABuo9 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7779 小时前
关于Linux服务器的协作问题
linux·运维·服务器
小白同学_C10 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
十年磨一剑~11 小时前
Linux程序接收到sigpipe信号崩溃处理
linux
geshifei11 小时前
Sched ext回调3——select_cpu(linux 6.15.7)
linux·ebpf
代码游侠11 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法