centos 7 / 8 卸载docker

714 阅读1分钟

centos7/8卸载docker

以下命令建议在root权限下执行,避免部分操作无权限执行,导致走不必要的弯路

尝试过网上较多的方法

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

结果不尽人意,最后还是选择了分步卸载。

分步卸载docker

停止(stop)\杀死(kill) 所有已启动的容器

docker stop $(docker ps -a -q)  # $()类似于sql语句的子查询,查询出所有docker容器,并停止

删除所有docker容器

docker rm $(docker ps -a -q)

删除所有docker镜像

docker rmi $(docker images -q)

停止 docker 服务

systemctl stop docker

注意: 如果执行停止docker服务的命令时,提示

 Stopping docker.service, but it can still be activated by:   docker.socket

原因是因为设置了docker自启动

解决方案:

systemctl stop docker.socket

删除docker相关存储目录

rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker

如果删除不掉,则先umount

umount /var/lib/docker/devicemapper

然后再重新执行上面那步“删除docker相关存储目录”。

经过上面一系列准备后,我们终于到了最后环节,开始删除docker。

查看系统已经安装了哪些docker包

[root@XXXXXXX /]# yum list installed | grep docker
containerd.io.x86_64                 1.4.11-3.1.el8                          @docker-ce-stable
docker-ce.x86_64                     3:20.10.10-3.el8                        @docker-ce-stable
docker-ce-cli.x86_64                 1:20.10.10-3.el8                        @docker-ce-stable
docker-ce-rootless-extras.x86_64     20.10.10-3.el8                          @docker-ce-stable
docker-scan-plugin.x86_64            0.9.0-3.el8                             @docker-ce-stable

卸载相关包

[root@localhost ~]# yum remove containerd.io.x86_64 docker-ce.x86_64 docker-ce-cli.x86_64 docker-ce-rootless-extras.x86_64 docker-scan-plugin.x86_64

删除命令为 yum remove 后面的由具体查询出来的docker包进行拼接,是个人实际情况而定

接着会出现选择提示,直接输入“y”然后回车就可以。

在这里插入图片描述

至此就卸载完成了!

查询是否卸载完成的指令

yum list installed | grep docker
或
docker version

至此就卸载完成了!

查询是否卸载完成的指令

yum list installed | grep docker
或
docker version