【发布时间】:2018-11-09 19:23:42
【问题描述】:
对不起,如果这是一个愚蠢的问题,但是:
我来自 vagrant,我们在每台机器上都有一个功能齐全的操作系统,运行 ps -aux 我们可以看到操作系统进程和我们的服务(我在某种程度上知道在 VM 和 Docker 中运行的应用程序之间的区别)。
然后我刚刚使用 docker-compose 构建了一些容器,并使用 bash(基于 debian:jessie 映像)登录到容器。运行ps -aux后只能看到我安装的服务,看不到单个操作系统的进程。为什么?他们在哪里?这是如何工作的?
Docker 有一个运行容器的 VM,每个容器可能基于不同的发行版,因此,操作系统是否也被容器化了,因为 docker 有主机的操作系统 (VM)?
【问题讨论】:
-
每当你听到“Docker 容器”时,只想到“正常的进程,但有一堆东西(文件系统、进程、网络东西等)通过命名空间被沙盒化”。
-
@OliverCharlesworth 所以实际上 debian:jessie docker 的镜像不是操作系统,而是在单个进程中模拟它?
-
基本上,你得到的只是一个看起来像“真实” Jessie 系统上的文件系统的文件系统(在标准 Docker 功能之上 - 沙盒网络等)没有模拟/模拟继续。