docker 假死 僵尸状态

智码云帆家
• 阅读 8185

某日在调试superset docker容器里面的一个程序后,容器突然假死

docker ps 显示容器状态正常,但是对外服务已经不可用
docker stats 没有反应,这个有点奇怪单个容器也能影响全部?
docker stop CONTAINER_ID 也没有任何反应
docker restart CONTAINER_ID 也没有任何反应
docker exec -it --user root CONTAINER_ID /bin/bash 也没有任何反应

求助朋友后,朋友说是不是僵尸进程
然后用top命令查看,发现有 zombie 3个进程

linux 进程状态
Linux Process Status:
R (task_running) : 可执行状态
S (task_interruptible): 可中断的睡眠状态
D (task_uninterruptible): 不可中断的睡眠状态
T (task_stopped or task_traced): 暂停状态或跟踪状态
Z (task_dead - exit_zombie): 退出状态,进程成为僵尸进程
X (task_dead - exit_dead): 退出状态,进程即将被销毁

继续使用命令查看具体信息

ps -ef | grep "defunct" 

docker 假死 僵尸状态
跟进PPID查看父进程发现是刚好是对应CONTAINER_ID的进程

ps -ef | grep 82248 

docker 假死 僵尸状态

最后kill -9 82248 后 zombie 也变成0

一切恢复正常

参考文章
https://www.oschina.net/trans...
https://blog.csdn.net/qq_3959...

点赞
收藏
评论区
推荐文章
liuzhen007 liuzhen007
4年前
如何监控docker的运行状况
目录前言正文查询结果参数解析前言监控docker容器的运行状态是非常普遍的需求,这就是我们今天的讨论内容。正文部署了docker容器之后,我们经常会需要查看容器的运行状态,这里介绍一个非常好用的命令:dockerstats 如果宿主机上有大量的容器在运行,你会看到所有的容器信息,因此我们也可以查看我们关心的某个容器,假如名字为builde
沸腾的木马 沸腾的木马
2年前
关于dorker安装的wordpress无法上传主题和插件的解决办法
首先,容器里居然没有php.ini这个文件。第二,容器里的配置文件无法编辑解决办法在php官网下载php.ini这个文件,修改后通过主机copy到容器里1、要查找容器的名称或ID,可以使用以下命令:dockerps这将显示正在运行的容器的列表,类似于以下示
Stella981 Stella981
4年前
Docker Compose安装
1.Docker社区开发了很多工具,用于对多个docker容器进行编配。编配的过程实际上就是管理运行在多个docker容器里面的应用,而这些docker容器可能运行在多个不同的宿主机上。2.DockerCompose是一个比较简单的docker容器的编配工具,以前的名称叫Fig,由Orchard团队开发的开源Docker编配工具,在2014年被Do
Stella981 Stella981
4年前
Kubernetes Pod的数据卷Volume
概述由于容器本身是非持久化的,因此需要解决在容器中运行应用程序遇到的一些问题。首先,当容器崩溃时,kubelet将重新启动容器,但是写入容器的文件将会丢失,容器将会以镜像的初始状态重新开始;第二,在通过一个Pod中一起运行的容器,通常需要共享容器之间一些文件。Kubernetes通过存储卷解决上述的两个问题。在Docker有存储卷的概念卷,但D
Wesley13 Wesley13
4年前
Java应用在docker环境配置容器健康检查
在《极速体验docker容器健康》(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fxinchen.blog.csdn.net%2Farticle%2Fdetails%2F102641942)一文已体验了docker容器健康检查功能,今天就来给java应用的容器加入健康检查,使应用的状态
Stella981 Stella981
4年前
Docker Swarm资源管理
DockerSwarmDockerSwarm是Docker官方项目之一,是使用SwarmKit构建的Docker引擎内置的集群管理和编排工具,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案。使用它,用户可以将多个Docker主机封装为单个大型虚拟Docker主机,快速打造一套容器云平台。节点运
Stella981 Stella981
4年前
Docker 容器健康检查
!DOCKERHEALTHCHECK(https://imgblog.csdnimg.cn/20210120134741738.jpg)Docker容器健康检查指的是在Dockerfile中使用HEALTHCHECK指令对容器的运行状态进行检查,并在dockerps的STATUS栏显示healthy/unhealt
Stella981 Stella981
4年前
CentOS7安装Docker详细实践
一、Docker简介Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 一个完整的Docker有以下几个部分组成:1.DockerClient客户端2.DockerDae
Stella981 Stella981
4年前
Docker是什么
一.Docker概念简介Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPho
Stella981 Stella981
4年前
Docker 容器介绍
Docker容器介绍_Docker_是一个基于_Go_语言的开源应用容器引擎,它既能实现虚拟化,又可用于将应用服务打包成轻量、可移植的容器,从而可以发布到任何_Linux_平台。除了优秀了沙箱机制外,_Docker_容器的开销也极低。正如其名,_Docker_所做的事情正是以一个集装箱的身份承载应用服务的运行
3A网络 3A网络
3年前
docker中启动所有的容器命令
docker中启动所有的容器命令前提:在3A服务器上部署docker环境docker中启动所有的容器命令javascriptdockerstart$(dockerpsa|awk'print$1'|tailn2)docker中关闭所有的容器命令javascriptdockerstop$(dockerpsa|a