我无法理解这个概念。我对Docker的工作原理以及它的优点有一点了解,虽然我理解在容器中运行Web服务器,数据库和开发环境,但我并不了解在Docker中运行像Ubuntu这样的操作系统。
有人可以解释您为什么要这样做以及整个操作系统在容器中的好处吗?
答案 0 :(得分:2)
操作系统本质上是运行应用程序所需的运行时环境。如果您的应用程序编译为在Linux上运行,它依赖于必须存在于执行环境中的Linux库(libc,glib等),而不管其类型如何。 Docker也不例外。
因此,Ubuntu应用程序需要Ubuntu映像才能正常运行。
请注意,Docker容器不包含也不运行整个操作系统,而只包含允许应用运行的最小库集。特别是它永远不会包含或执行内核,因为它在主机内核下运行。
答案 1 :(得分:1)
Docker没有自己的操作系统,它安装在计算机上,这使它可以共享主机操作系统资源。将只有一个操作系统,所有容器将使用该操作系统。 大多数应用程序在没有操作系统的情况下毫无意义,因为它需要IO,硬件调用等。 每个docker容器可能有不同的包(java,python,jboss等),安装了应用程序。