1)这里用到一台已经装了docker的机器,首先查看一下他的安装情况:
执行rpm -qa | grep docker,可以看到如下信息
2)在删除之前,我们可以通过docker ps命令来看一下有哪些容器处于运行状态,如果有的话通过docker stop 容器ID可用停掉容器,如果以CTRL+P+Q的方式退出容器的话,需要先docker attach 容器ID来先进入容器。
还可以通过docker rm -f 容器ID命令将容器直接删除掉。
3)如果没有处于运行状态的容器,可用跳过上一步,直接去删除docker,这里我们分别指向rpm -e来删除这些软件,删除的时候可能提示依赖包错误,我们需要加上--nodeps,如下图:
这里给出一个删除命令的示例作为参考
4)执行完上面的 *** 作后docker,如果还没有卸载完全,需要通过yum remove将相关的包remove掉
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine
5)最后去docker相关的一些目录,将该目录强制删除掉
卸载Docker包:$ sudo apt-get purge docker-engine11
卸载Docker包及其以来不再需要使用下面的命令:
$ sudo apt-get autoremove --purge docker-engine11
上面的命令不会移除镜像,容器,卷或者是用户创建的配置文件。如果你想删除所有的镜像,容器和卷,运行下面的命令:
$ rm -rf /var/lib/docker11
你必须手动删除用户创建的配置文件。
更多具体内容可以查看链接:http://www.linuxprobe.com/
在Linux系统下卸载设备时,经常会遇到“Device is busy”的提示,报错的原因通常是由于待卸载磁盘正在使用,导致无法直接卸载,需要降当前使用数据盘的进程杀掉,才能卸载。如果贸然强行删除,可能会导致数据丢失或设备损坏。需要使用fuser命令查找和删除占用的程序。
例如:无法卸载的设备为/dev/vdd1,运行以下命令:
PS: 如果bash在使用此磁盘,会发现bash退出了,新开bash 并再次查看fuser -mv /dev/vdd1
确认是否还有占用进程。
找到PID对应的进程或者服务,然后杀死或者停止相应服务即可。
此案例中即使使用上述所有 *** 作删除占用的进程,但还是提示磁盘busy,使用kill去杀进程,发现进程号一直在变化,惊觉可能是某个服务进程一直在运行,使用fuser -m -v /dev/vdd1 去查看详细的进程信息,发现是docker服务一直在占用。
解决方案:停止docker服务
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)