Docker-仅具有操作系统的映像?

Docker-仅具有操作系统的映像?,docker,Docker,到目前为止,我只看到一些操作系统作为底层的图像。这有必要吗?是否可以在没有操作系统的情况下运行某些容器?操作系统由内核和用户区实用程序组成。因此,没有以“操作系统”为基础层的Docker映像,而是有许多以操作系统发行版命名的映像,以及它们特定的用户区实用程序 你可以用你喜欢的任何东西从一个tarball创建一个Docker图像。但是,如果它缺少/bin/sh,并且您希望在docker文件中包含一个运行,那么它就没有什么用处了。如果您遵循docker hub上的图像是如何构建的,您会发现有一个从头

到目前为止,我只看到一些操作系统作为底层的图像。这有必要吗?是否可以在没有操作系统的情况下运行某些容器?

操作系统由内核和用户区实用程序组成。因此,没有以“操作系统”为基础层的Docker映像,而是有许多以操作系统发行版命名的映像,以及它们特定的用户区实用程序


你可以用你喜欢的任何东西从一个tarball创建一个Docker图像。但是,如果它缺少/bin/sh,并且您希望在docker文件中包含一个运行,那么它就没有什么用处了。

如果您遵循docker hub上的图像是如何构建的,您会发现有一个从头开始的
(您可能必须遵循从x行到不同图像的各种
,直到达到从头开始)。Scratch是空的,完全是空的,没有库,没有shell,根本没有文件。它被设计为一个起点,您可以将一堆文件复制到其中


如果您有一个静态链接的二进制文件,并且不需要容器中的任何其他内容,那么也可以使用scratch。但是请注意,调试容器变得更加困难,因为您不能在容器内启动shell,但这也意味着攻击者也不能这样做。

好的,所以第一层是空的-当我们下载ubuntu时,它会下载libararies、ls、cp等。。。是吗?当你使用ubuntu作为你的基本图像时,你会得到
ls
cp
apt-get
,shell等等,是的。