2

我已经和 docker 一起玩了大约一个月,现在我有一些图像。最近,我想与其他人分享其中的一个,然后我将那个图像 X 推送到我的 DockerHub,以便他可以从我的存储库中提取它。

然而,这似乎有点浪费时间。这里花费的总时间是我做 docker push他做 docker pull 的时间。如果我只是向他发送构建该映像 X 所需的 Dockerfile,那么成本将是 我编写 Dockerfile时间、传递文本文件的时间以及他执行 docker build 的时间,这比以前的方式要少,因为我维护好我的 Dockerfiles。

所以,这是我的问题:这两种方法的优缺点是什么?为什么 Docker Inc. 选择推出 DockerHub 服务而不是 DockerfileHub 服务?

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

4

2 回答 2

3

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

但这也可能是一个骗局。例如,如果源代码包含像 Heartbleed 或 Shellshock 这样的可怕错误。然后源得到修补,但 Docker Hub 上的图像没有得到更新。

于 2014-12-05T09:52:20.920 回答
0

事实上,你推送镜像的时间和构建镜像的时间取决于你的环境。例如,您可能为嵌入式系统预先构建了一个映像,但您不想在嵌入式系统上构建它。

Docker Hub 提供了一个自动构建功能,该功能将从 GitHub 获取 Dockerfile,并构建图像。所以你可以从 GitHub 上获取镜像的 Dockerfile,不需要共享服务Dockerfile

于 2014-12-05T04:30:37.307 回答