gpt4 book ai didi

docker - 了解 docker 容器进程

转载 作者:行者123 更新时间:2023-12-02 18:15:00 26 4
gpt4 key购买 nike

对不起,如果这是一个愚蠢的问题,但是:

我来自 vagrant,我们在每台机器上都有一个功能齐全的操作系统,运行 ps -aux我们可以看到操作系统进程和我们的服务(我在一定程度上知道在 VM 和 Docker 中运行的应用程序之间的区别)。

然后我刚刚使用 docker-compose 构建了一些容器,并使用 bash(基于 debian:jessie 镜像)登录到容器。运行后ps -aux我只能看到我安装的服务,而不是单个操作系统的进程。为什么?他们在哪里?这是如何工作的?

Docker有一个运行容器的VM,每个容器可能基于不同的发行版,那么,操作系统是否也被容器化了,因为Docker有主机的操作系统(VM)?

最佳答案

Docker has a VM in which the containers run



不,容器不是虚拟机(docker 包括一个用于桌面版本的虚拟机,但那不是容器,并且有虚拟机运行时,但那不是传统的容器)。

容器是一种使用内核命名空间隔离正在运行的应用程序的方法,用于文件系统、pid 和网络等。它们都在同一个内核中运行。拉取 Alpine、Ubuntu 等的基础镜像会为您提供基础文件系统、库、包管理器,但不提供内核。在容器内启动的唯一进程是您的应用程序,当您的应用程序退出时,容器也会退出。因此,您不会看到操作系统实用程序正在运行。

另见 this answer

关于docker - 了解 docker 容器进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50613140/

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