Linux 我应该在docker中构建操作系统吗?

Linux 我应该在docker中构建操作系统吗?,linux,docker,Linux,Docker,我正在为php+apache上的简单项目创建环境,我是docker的新手。 我不明白建造阿尔卑斯山+台灯这样的东西有什么区别 或者只是建一盏灯,所有的机器都运行Ubuntu。我需要操作系统吗?需要。实际上,你需要一个操作系统,它不是完整的操作系统。我稍后会解释。为什么?好的,让我解释一下 当您使用Docker运行应用程序时,您是在容器中运行此应用程序。 此容器不使用您的OS文件系统和库。相反,它使用syscall直接与内核通信。 现在的问题是,您的应用程序将在哪里获得运行所需的文件系统和库 这里

我正在为php+apache上的简单项目创建环境,我是docker的新手。 我不明白建造阿尔卑斯山+台灯这样的东西有什么区别
或者只是建一盏灯,所有的机器都运行Ubuntu。我需要操作系统吗?

需要。实际上,你需要一个操作系统,它不是完整的操作系统。我稍后会解释。为什么?好的,让我解释一下

当您使用Docker运行应用程序时,您是在容器中运行此应用程序。 此容器不使用您的OS文件系统和库。相反,它使用syscall直接与内核通信。 现在的问题是,您的应用程序将在哪里获得运行所需的文件系统和库

这里是基本OSi.e。阿尔卑斯山的形象开始发挥作用。此基本映像不是完整的linux操作系统。它没有内核。它提供了一个文件系统和一些运行应用程序所需的库


UPD:但是,您可以构建不需要任何基本操作系统映像的docker映像。但它要求应用程序必须进行静态编译,这意味着它在二进制文件中包含运行应用程序所需的所有必要库。

docker在哪里发挥作用?您可以为每个应用程序php、mysql等运行一个容器,并将它们链接在一起,或者使用docker compose来支持它,而不是LAMP。docker容器内的灯堆也有许多预构建的图像。试着用谷歌搜索一下。这不是真的,请参阅构建基础图像。从零开始看,没错。它只能用于不依赖于其他外部库的静态编译映像。我已更新了我的答案,以包含此信息。谢谢你指给我看。