卸载并重装最新版 docker engine 的关键是彻底清理残留:先停服务并确认无进程,再 purge 全部组件,接着强制删除 /var/lib/docker、/var/lib/containerd、/etc/docker、docker 用户组等所有相关目录与配置,最后通过官方源安装并验证。
卸载并重新安装最新版 docker engine,关键不是简单删包再重装,而是先彻底清理所有残留——包括服务、二进制、数据目录、配置文件和用户组。否则新装的 docker 可能无法启动,或出现“client 正常但 server 连不上”这类典型故障。
停止服务并确认无运行进程
无论之前如何安装(apt/yum/脚本/二进制),第一步必须停掉所有相关服务:
- 执行 sudo systemctl stop docker docker.socket(若存在)
- 检查状态:systemctl is-active docker 应返回 inactive
- 确认无残留进程:ps aux | grep dockerd 和 ps aux | grep containerd 都不应有输出
- 如曾启用 rootless 模式,还需运行:dockerd-rootless-setuptool.sh stop
卸载全部 Docker 相关软件包
不同系统用对应命令,务必覆盖所有组件,避免版本混杂:
使用 Python 脚本下载 Docker 镜像并打包为 tar 文件。用户说“下载镜像”“拉取镜像”“pull xxx”“帮我下载 nginx 镜像”等时触发。支持 SOCKS5 代理直连(推荐)和国内镜像站加速两种模式。
-
Ubuntu/Debian:
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
若曾装过旧包(如 docker.io 或 docker-engine),补上:
sudo apt-get remove -y docker docker-engine docker.io containerd runc -
CentOS/RHEL/Rocky:
sudo yum remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
如有旧版残留(docker、docker-common 等),一并移除
删除全部数据、配置与残留文件
这是最容易被跳过的一步,但直接影响重装是否干净:
- 清空运行时数据:sudo rm -rf /var/lib/docker /var/lib/containerd(镜像、容器、卷、网络全在此,不可逆)
- 删配置目录:sudo rm -rf /etc/docker
- 删 socket 文件:sudo rm -f /var/run/docker.sock /run/docker.sock
- 删二进制残留:sudo rm -f /usr/local/bin/docker*
- 删用户组:sudo groupdel docker(防止重装后权限异常)
- 检查其他位置:whereis docker 和 find /usr -name "*docker*" 2>/dev/null,对非系统关键路径下的结果酌情清理
安装最新版 Docker Engine
推荐使用官方仓库安装,确保获取稳定新版(非 Ubuntu 默认源里的老旧 docker.io):
-
Ubuntu/Debian:
更新系统:sudo apt update && sudo apt install -y ca-certificates curl gnupg
添加 GPG 密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加仓库:echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装:sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -
CentOS/RHEL/Rocky:
安装依赖:sudo yum install -y yum-utils
添加仓库:sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装:sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - 安装完成后,启动服务:sudo systemctl enable docker && sudo systemctl start docker
- 验证:docker --version 和 sudo docker run hello-world










