彻底删除hang住的docker

简介: 部分docker在运行的时候本身会hang住,此时使用docker -f stop/rm <container id> 均不奏效,本文介绍一种有效的方法实现不需要重启docker服务的情况下删除指定docker 容器

使用docker ps -a | grep 查看zhi'din指定容器

#docker ps -a | grep ark-agent
0d7b7c9c4d94        abada6a1382c        "/opt/paas-app/entry…"      About an hour ago   Created                                         ark-agent

尝试停止docker容器

#docker stop 0d7b7c9c4d94

命令hang住不奏效

尝试这样删除

#ll /var/lib/docker/containers | grep caf8ef20f3c1
drwx------ 4 root root 4096 Dec 20 19:00 0d7b7c9c4d94d3342c38d0586178f8f98cc5afb64b45456bfda4870388214cda

#rm -rf /var/lib/docker/containers/0d7b7c9c4d94d3342c38d0586178f8f98cc5afb64b45456bfda4870388214cda

rm: cannot remove ‘/var/lib/docker/containers/0d7b7c9c4d94d3342c38d0586178f8f98cc5afb64b45456bfda4870388214cda/mounts/shm’: Device or resource busy

也无效

根据报错我们可以看到shm共享挂载导致无法删除,我们找到挂载的位置,然后取消挂载再删除试下

#cat /proc/mounts |grep "docker" | grep 0d7b7c9c4d94
shm /var/lib/docker/containers/0d7b7c9c4d94d3342c38d0586178f8f98cc5afb64b45456bfda4870388214cda/mounts/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=65536k 0 0

umount /var/lib/docker/containers/0d7b7c9c4d94d3342c38d0586178f8f98cc5afb64b45456bfda4870388214cda/mounts/shm

查看

#cat /proc/mounts |grep "docker" | grep 0d7b7c9c4d94                                                                                 

然后再尝试删除

#rm -rf /var/lib/docker/containers/0d7b7c9c4d94d3342c38d0586178f8f98cc5afb64b45456bfda4870388214cda                        

#docker rm -f 0d7b7c9c4d94

仍然hang住删不掉

当然此时如果重启docker服务,你是可以删除掉的。可是如果还有别的docker容器在运行,你就不能轻易地重启docker服务了。

查看谁在用它

#ps aux | grep 0d7b7c9c4d94d3342c38d0586178f8f98cc5afb64b45456bfda4870388214cda | grep -v grep | awk '{print $1 $2}'
root60325
root60340

先把这些进程kill掉

kill -9 60325

此时再删除

#docker rm -f 0d7b7c9c4d94                           
Error: No such container: 0d7b7c9c4d94

哦,该容器已经删除掉了!

目录
相关文章
|
3月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
263 57
|
4月前
|
存储 运维 安全
Docker化运维:容器部署的实践指南
Docker化运维:容器部署的实践指南
|
3月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
253 59
|
3月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
326 11
|
3月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
210 1
|
4月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
|
5月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】数据库不适合Docker容器化部署的原因
本文介绍了在Docker中部署MySQL数据库并实现数据持久化的方法,同时分析了数据库不适合容器化的原因。通过具体步骤演示如何拉取镜像、创建持久化目录及启动容器,确保数据安全存储。然而,由于数据安全性、硬件资源争用、网络带宽限制及额外隔离层等问题,数据库服务并不完全适合Docker容器化部署。文中还提到数据库一旦部署通常无需频繁升级,与Docker易于重构和重新部署的特点不符。
291 18
【赵渝强老师】数据库不适合Docker容器化部署的原因
|
2月前
|
安全 持续交付 Docker
Docker:重塑现代软件交付的容器引擎
Docker:重塑现代软件交付的容器引擎
|
2月前
|
存储 持续交付 Docker
Docker:轻量级容器技术重塑应用交付
Docker:轻量级容器技术重塑应用交付