为什么不“docker push”只发布Dockerfile?

时间:2016-03-17 05:46:22

标签: docker

图像是从Dockerfile构建的。因此,不是推送整个图像(至少数十MB),而是发布Dockerfile(通常只有KB)将节省大量空间。

2 个答案:

答案 0 :(得分:0)

一个Makefile只有几KB,为什么要发送大量的.deb文件?

大多数图片(至少是"基本图片")包含许多已ADD加入其中的文件(例如完整的Linux发行版)。

您无法仅从Dockerfile重新创建此类图像。

即使你可以,构建过程(例如编译应用程序)可能会花费大量时间,CPU,内存,甚至网络访问。当你想要的只是运行一个程序时,你不必这样做。

答案 1 :(得分:0)

因为Dockerfile可以引用本地资源(仅存在于最初构建映像的机器上的文件),这些资源不在目标服务器上,您将尝试(并且失败)到{ {1}}相同的图片。

这些本地文件通过ADD或COPY指令包含在图像中,并推送生成的图像供客户端使用。