【发布时间】:2020-03-31 14:42:57
【问题描述】:
当我与人们交谈并阅读有关容器的文章时,我听到了 docker 容器彼此隔离以及与主机隔离的定义。
但是我想问一下,这种情况下的隔离级别到底是什么,它是完全与主机或其操作系统隔离的,还是有一些共享资源?如果是完全隔离的,那它怎么这么小又轻呢?
【问题讨论】:
标签: docker kubernetes dockerfile containers docker-engine
当我与人们交谈并阅读有关容器的文章时,我听到了 docker 容器彼此隔离以及与主机隔离的定义。
但是我想问一下,这种情况下的隔离级别到底是什么,它是完全与主机或其操作系统隔离的,还是有一些共享资源?如果是完全隔离的,那它怎么这么小又轻呢?
【问题讨论】:
标签: docker kubernetes dockerfile containers docker-engine
Docker 容器使用主机操作系统(内核),您可以从主机角度查看容器内部。 通常容器看不到宿主进程,也看不到其他容器。
将容器想象成一个独立运行的应用程序进程,而不是虚拟机。
【讨论】:
@Thomas 是对的,但我想稍微扩展他的答案。
Docker 容器只是一个直接在其上运行的进程/服务 你的机器。它与常规流程略有不同,因为 Docker 守护进程和 Linux 内核一起做一些事情 确保它完全隔离运行。
正如@Thomas 已经提到的,它们不是虚拟机。如需更深入(但简短)的阅读,我推荐这篇文章:Comparing Virtual Machines vs Docker Containers。
这是一个社区 wiki 答案,旨在提供有关此主题的更多信息。
如果有帮助,请告诉我。
【讨论】: