Docker的docker pull和docker build有什么优点和缺点?

我一直在玩Docker大约一个月,现在我有几个图像。 最近,我想将其中的一个分享给其他人,然后将该映像X推送到我的DockerHub,以便他可以将其从我的存储库中提取出来。

但是,这似乎有点浪费时间。 在这里度过的总时间是我做docker推 的时间他做docker的时间 。 如果我只是给他发送Dockerfile来构build这个映像X,那么花费的时间就是我编写Dockerfile 的时间,传递文本文件 的时间以及Docker 构build的时间 ,这比以前less了一些,因为我很好地维护我的Dockerfiles。

那么,这是我的问题:这两种方法的优缺点是什么? 为什么Docker Inc.select启动DockerHub服务而不是DockerfileHub服务?

任何build议或答案,将不胜感激。 非常感谢!

假设您从Dockerfile构build映像,并将该映像推送到Docker Hub。 在构build过程中,您可以下载一些源代码并构build程序。 但是,当构build完成时,来源变得不可用。 现在Dockerfile不能再使用了,但是Docker Hub上的镜像仍然在运行。 这是一个专业的Docker Hub。

但它也可以是一个骗局。 例如,如果源代码包含一个像Heartbleed或Shellshock可怕的错误。 然后源码被修补,但Docker Hub上的映像不会被更新。

实际上,您推送图像的时间和build立图像的时间取决于您的环境。 例如,您可以预先为embedded式系统构build一个图像,但是您不想在embedded式系统上构build它。

Docker Hub提供了一个自动构buildfunction,它将从GitHub获取Dockerfile,并构build图像。 所以你可以从GitHub获得图像的Dockerfile,没有必要有共享Dockerfile的服务。