docker的临时图像是什么?

时间:2017-11-19 05:09:01

标签: docker

我是docker的新手,我正在试用文档中的第一个hello world示例。据我所知,hello-world图像基于划痕图像。有人可以解释一下划痕图像是如何工作的吗?据我了解,它基本上是空白的。那么在hello-world图像中如何执行二进制文件?

1 个答案:

答案 0 :(得分:8)

scratch图像是Docker中最小的图像。这是所有其他图像的基本祖先。 scratch图片实际上是空的。它不包含任何文件夹/文件...

scratch图像主要用于构建其他基本图像。例如,debian图像是从头开始构建的:

FROM scratch
ADD rootfs.tar.xz /
CMD ["bash"]

rootfs.tar.xz包含所有文件系统文件。 Debian映像将文件系统文件夹添加到临时映像,该映像为空。

  

据我所知,它基本上是空白的。如何执行二进制文件   那么你好世界的形象呢?

临时图像为空白。添加到临时图像的hello-world可执行文件实际上是静态编译的,这意味着它是自包含的,不需要任何其他库来执行。

offical docker docs中所述:

  

假设您从Docker构建了“hello”可执行示例   GitHub示例C源代码,您使用-static编译它   flag,然后您可以使用:docker build --tag构建此Docker镜像   喂

这确认了hello-world可执行文件是静态编译的。有关静态编译的更多信息,请阅读here