gpt4 book ai didi

virtual-machine - 主机进程列表中显示的 Docker 进程

转载 作者:IT老高 更新时间:2023-10-28 12:38:36 26 4
gpt4 key购买 nike

我正在使用 docker 设置 Selenium 服务器,基本上遵循 this github教程。

我设置服务器没有问题,但我注意到我在 docker 镜像中启动的进程实际上显示在我的主机进程列表中。

enter image description here

正如您在屏幕截图中看到的那样,docker 运行了一个 bash 脚本并执行了一个 jar 文件,我认为这应该只发生在盒子内。这是否意味着来自主机的用户可能会杀死容器外的某个进程,这将彻底破坏盒子内的世界?

当我停止容器时,所有进程都如我预期的那样消失了。

这就是 Docker 的设计方式吗.. 与 Virtualbox/Vagrant 相比,与轻量级相比,有缺陷的隔离是您必须接受的...还是我做错了什么?

谢谢!

最佳答案

这似乎是关于 Docker 是轻量级虚拟机“的常见误解,这就是为什么有些人可能期望与 VirtualBox 或 VMWare 类似的行为,但速度更快。

Docker 不使用虚拟化,因此由本地主机内核运行的所有进程只是相互隔离。非root用户不能杀死容器内的进程,但root可以停止整个容器,不仅杀死一个进程。

要区分容器内运行的进程和其他进程,请运行 top 然后按 shift+f 并选择 nsPID 和 nsUSER,如随附的屏幕截图所示。

然后你会在每个进程旁边看到命名空间,如果它直接在服务器上运行,这个值很可能是空的,如果进程在容器内运行,你会看到每个容器的命名空间 id。 (可以按命名空间排序查看每个容器中的进程)

top nsPID and nsUSER

关于virtual-machine - 主机进程列表中显示的 Docker 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26659129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com