Docker中无法正常结束容器的解决思路 - Docker cannot kill or stop container

步骤

  1. 查找无法删除的容器的ID:
# docker ps |grep "容器名" |awk -F' ' '{printf $1}'
b1beca5549ef
#
  1. 执行删除命令删除容器目录:
# ll /path_you_docker_install/containers | grep b1beca5549ef
drwx------. 5 root root 4096 4月   1 17:10 b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37
# rm -rf /path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37

此时会有报错如下:

rm: 无法删除"/path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37/secrets": 设备或资源忙无法删除"/path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37/shm": 设备或资源忙
  1. 从上面报错我们可以看到“secrets”和“shm”共享挂载导致无法删除,首先找到挂载的位置,然后取消挂载后,再删除:
# cat /proc/mounts |grep "docker" |grep "b1beca5549ef"
  1. 取消挂载:
# umount /path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37/secrets
# umount /path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37/shm
  1. 再次查看:
# cat /proc/mounts |grep "docker" |grep "b1beca5549ef"

输出为空

  1. 现在删除容器目录就不会报错了
# rm -rf /path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37

删除目录成功后,杀掉容器或者删除容器就都正常了

  1. 删除容器
 # docker kill b1beca5549ef# docker rm b1beca5549ef

完成以上步骤后,绝大多数问题都可以解决了。

附录

关于docker-compose 遇到 “ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.”的报错,可以使用以上排查思路,但是要使用 --verbose来确认具体是哪一个容器的挂载出现了异常,具体使用方法为:

 # docker-compose --verbose ps# docker-compose --verbose down # docker-compose --verbose up -d

会打印当前日志信息,如下:

compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('c7612844041a4569b37b2218134f9a6ff194af3bafccdf7d7593a0e4911e7334')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.24/containers/c7612844041a4569b37b2218134f9a6ff194af3bafccdf7d7593a0e4911e7334/json HTTP/1.1" 200 None
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {'AppArmorProfile': '',
'Args': ['-c', './StorageDumpService'],
'Config': {'ArgsEscaped': True,'AttachStderr': False,'AttachStdin': False,'AttachStdout': False,'Cmd': ['/bin/sh', '-c', './StorageDumpService'],'Domainname': '','Entrypoint': None,'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/jre1.8/bin'],
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('483a9502f098381ea639a43b2cad946ec201df7f66c5030b1a7b92ddab026126')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.24/containers/483a9502f098381ea639a43b2cad946ec201df7f66c5030b1a7b92ddab026126/json HTTP/1.1" 200 None
compose.cli.verbose_proxy.proxy_callable: docker inspect_container -> {'AppArmorProfile': '',
'Args': ['-server','-Xms1024m','-Xmx2048m','-XX:PermSize=128M','-XX:MaxPermSize=256M','-Dh2.configdb.fileLocaltion=./db','-Dlogs.home=./logs','-Dlogging.config=./config/logback-spring.xml','-Dspring.config.location=file:./config/',
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_container <- ('43336976e7582a260b62339cca801104155c00fc92b1831c176ff259f1f5f327')

查看光标卡在了哪个容器,就是哪个容器出现了问题,以上,如有不对,还请各位订正。

Docker中无法正常结束容器的解决思路 - Docker cannot kill or stop container相关推荐

  1. docker中启动所有的容器命令

    docker中启动所有的容器命令 前提:在3A服务器上部署docker环境 docker中 启动所有的容器命令 docker start $(docker ps -a | awk '{ print $ ...

  2. 最近实际项目中遇到的技术问题与解决思路

    最近实际项目中遇到的技术问题与解决思路 参考文章: (1)最近实际项目中遇到的技术问题与解决思路 (2)https://www.cnblogs.com/lunlunshiwo/p/9222456.ht ...

  3. 关于pycharm中运行代码报错的解决思路

    关于pycharm中运行代码报错的解决思路 复盘一下对于代码运行报错的解决思路,以免忘了. 之前对于代码报错有种恐惧感,生怕出什么幺蛾子,但每次都会有很多bug,每改进一个bug又会出现下一个bug, ...

  4. Docker中Mysql中文乱码(已解决)

    解决Docker中运行的MySQL中文乱码 1.首先创建两个目录 mkdir /tmp/mysql/data mkdir /tmp/mysql/conf 2.编写hmy.cnf文件,将以下内容写到文件 ...

  5. 在 Docker 中运行 MySQL:多主机网络下 Docker Swarm 模式的容器管理

    本文将以多主机网络环境为基础,探讨如何利用内置编排工具 Docker Swarm 模式对各主机上的容器加以管理. Docker Engine – Swarm 模式 在多台主机之上运行 MySQL 容器 ...

  6. Docker中部署项目到容器

    场景 使用Dockerfile定制镜像来部署Tomcat项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99105626 D ...

  7. docker swarm MySQL_容器与云|在 Docker 中运行 MySQL:多主机网络下 Docker Swarm 模式的容器管理...

    本文将以多主机网络环境为基础,探讨如何利用内置编排工具 Docker Swarm 模式对各主机上的容器加以管理. Docker Engine – Swarm 模式 在多台主机之上运行 MySQL 容器 ...

  8. 在 Docker 中使用 flannel - 每天5分钟玩转 Docker 容器技术(60)

    上一节我们安装和配置了 flannel,本节在 Docker 中使用 flannel. 配置 Docker 连接 flannel 编辑 host1 的 Docker 配置文件 /etc/systemd ...

  9. Docker中操作镜像和容器的常用命令

    场景 CentOS7中Docker的安装与配置: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701 在上面将Doc ...

最新文章

  1. mysql优化 top_Top 20+ MySQL Best Practices【sql优化】
  2. 常见荧光定量 PCR 检测方法比较
  3. PC和服务器的IP地址信息DNS,PC和服务器的IP地址信息DNS
  4. 网页中文乱码--UTF-8和GB2312互转
  5. 【Python web 开发】viewset 实现商品详情页的接口
  6. [转载] Linux+树莓派3开发总结——cx_Freeze打包Python3程序(工程文件)
  7. 使用yum安装Apache+PHP+MySQL
  8. [海隆软件][方正电机]IPO,打新股中
  9. 君则A3服务器地址异常信息,a3服务器端操作指南.doc
  10. (曲率系列4:)基于点拟合二次曲面并求曲率
  11. OpenDaylight-Boron学习笔记: 6 VTN模块
  12. Python学习笔记-2017.5.4thon学习笔记-2017.5.10
  13. pycharm 文件名颜色所代表的含义
  14. 从零搭建Hexo博客并部署腾讯云服务器(宝宝级教学)
  15. Hexo接入码云评论系统
  16. Yoshua Bengio, Yann LeCun, Geoffrey Hinton 获 2018 年图灵奖...
  17. 单片机c语言交通灯源程序,51单片机用C语言实现交通灯_红绿灯_源程序
  18. 让Eclipse可以自动排版
  19. 项目文件模板-需求变更申请表
  20. BMP图片格式分析(超详细)

热门文章

  1. 移动硬盘行货检测以东芝为例
  2. java jse_Java构建JSE开发环境教程
  3. Vmware tools安装(已解决VMware和win鼠标不能自由切换问题)
  4. .net基础中间件开发完毕总结
  5. java教程系列二:Java JDK,JRE和JVM分别是什么?
  6. 百度地图通过具体位置定位
  7. [渝粤教育] 淄博职业学院 应用微生物基础 参考 资料
  8. 零基础学画画有什么快速的方法
  9. 用户需要使用某一个文件时 需要告诉计算机,基础理论试题4
  10. Centos 9 终端下vim修改文件后如何保存退出及相关命令