Docker中无法正常结束容器的解决思路 - Docker cannot kill or stop container
Docker中无法正常结束容器的解决思路 - Docker cannot kill or stop container
步骤
- 查找无法删除的容器的ID:
# docker ps |grep "容器名" |awk -F' ' '{printf $1}'
b1beca5549ef
#
- 执行删除命令删除容器目录:
# 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": 设备或资源忙
- 从上面报错我们可以看到“secrets”和“shm”共享挂载导致无法删除,首先找到挂载的位置,然后取消挂载后,再删除:
# cat /proc/mounts |grep "docker" |grep "b1beca5549ef"
- 取消挂载:
# umount /path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37/secrets
# umount /path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37/shm
- 再次查看:
# cat /proc/mounts |grep "docker" |grep "b1beca5549ef"
输出为空
- 现在删除容器目录就不会报错了
# rm -rf /path_you_docker_install/containers/b1beca5549ef455479681c05d0704959e44acb4fbacb1e340f203546c9c54b37
删除目录成功后,杀掉容器或者删除容器就都正常了
- 删除容器
# 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相关推荐
- docker中启动所有的容器命令
docker中启动所有的容器命令 前提:在3A服务器上部署docker环境 docker中 启动所有的容器命令 docker start $(docker ps -a | awk '{ print $ ...
- 最近实际项目中遇到的技术问题与解决思路
最近实际项目中遇到的技术问题与解决思路 参考文章: (1)最近实际项目中遇到的技术问题与解决思路 (2)https://www.cnblogs.com/lunlunshiwo/p/9222456.ht ...
- 关于pycharm中运行代码报错的解决思路
关于pycharm中运行代码报错的解决思路 复盘一下对于代码运行报错的解决思路,以免忘了. 之前对于代码报错有种恐惧感,生怕出什么幺蛾子,但每次都会有很多bug,每改进一个bug又会出现下一个bug, ...
- Docker中Mysql中文乱码(已解决)
解决Docker中运行的MySQL中文乱码 1.首先创建两个目录 mkdir /tmp/mysql/data mkdir /tmp/mysql/conf 2.编写hmy.cnf文件,将以下内容写到文件 ...
- 在 Docker 中运行 MySQL:多主机网络下 Docker Swarm 模式的容器管理
本文将以多主机网络环境为基础,探讨如何利用内置编排工具 Docker Swarm 模式对各主机上的容器加以管理. Docker Engine – Swarm 模式 在多台主机之上运行 MySQL 容器 ...
- Docker中部署项目到容器
场景 使用Dockerfile定制镜像来部署Tomcat项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99105626 D ...
- docker swarm MySQL_容器与云|在 Docker 中运行 MySQL:多主机网络下 Docker Swarm 模式的容器管理...
本文将以多主机网络环境为基础,探讨如何利用内置编排工具 Docker Swarm 模式对各主机上的容器加以管理. Docker Engine – Swarm 模式 在多台主机之上运行 MySQL 容器 ...
- 在 Docker 中使用 flannel - 每天5分钟玩转 Docker 容器技术(60)
上一节我们安装和配置了 flannel,本节在 Docker 中使用 flannel. 配置 Docker 连接 flannel 编辑 host1 的 Docker 配置文件 /etc/systemd ...
- Docker中操作镜像和容器的常用命令
场景 CentOS7中Docker的安装与配置: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701 在上面将Doc ...
最新文章
- tkinter安装_mac pyenv 安装tkinter,解决tkinter环境的问题
- 去云南品味彝族的砣砣肉
- 密码技术--非对称加密算法及Go语言应用
- 训练FCN时遇到的问题总结
- 用信号量锁定:一个例子
- python数据获取手段包括哪些_python开发应用-本地数据获取方法
- WebMagic学习总结
- ubuntu NGINX uwsgi https 部署Django 遇到的问题
- java植树问题代码,小学数学最难的13种典型题,让孩子吃透了,拿高分不难!
- 数据标准在数据治理中的意义
- Linux设备驱动(转)
- 计算机在施工中的应用研究,浅析计算机技术及网络在工程施工中的应用研究.pdf...
- bat批处理 变量名写入文本,中文写入文本,延迟写入文本
- GridView里面的Item高度设置
- SPSS25安装教程
- s7-200通信测试软件,S7-200 SMART 与调试助手之间 TCP 通信[技术学习]
- 免费客户旅程(Customer Journey Mapping) 示例总汇
- 发票专用驱动sjz_停机前未勾选完的发票,升完级后这样操作
- 一次性将多个网址收藏到谷歌书签的文件夹中
- 电脑登陆出现此工作站和主域间的信任关系失败