摘要:系统运维 开始之前 在某些情况下,比如系统负载很高 docker stop 无法关闭某个容器(无响应),这时可以根据容器进程的ID找到宿主机进程ID,然
系统运维
开始之前在某些情况下,比如系统负载很高 docker stop
无法关闭某个容器(无响应),这时可以根据容器进程的ID找到宿主机进程ID,然后kill掉这个容器(最好已经使用了数据卷数据持久化,否则容器内数据有丢失风险)。
docker ps --format \'{{.ID}} {{ .Names }}\'
CONTAINER ID NAMES
1201281cb959 web
425a6234df74 db
获得容器进程ID
docker inspect -f \'{{ .State.Pid }}\' web
9834
进程信息
tail /proc/9834/cmdline ;echo
nginx: master process nginx -g daemon off;
也可以使用top子命令
docker top web
最后如有必要可以kill这个进程ID,这等效于强制关闭容器。
kill -9 9834
Docker 容器进程
内容摘自 <<Docker — 从入门到实践>>
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的 root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID空间。
容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。
小结最后来总结下文章中的知识点
Docker容器本质上是宿主机上的进程。 容器进程ID就是宿主机进程ID,因为它们是相同的。 如果Docker守护进程正常响应,请不要直接kill进程。参考文章
doker&k8s Qun [703906133]
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28