我一直在玩码头工作了大约一个月,现在我有一些图像。 最近,我想将其中一个分享给其他人, 然后我将图像X推送到我的DockerHub,以便他可以从我的存储库中提取它。
然而,这似乎是浪费时间。 这里花费的总时间是我执行泊坞广告的时间 停泊码头的时间。 如果我只是向他发送构建该图像X所需的Dockerfile,那么成本就是 我编写Dockerfile的时间,传递文本文件的时间,编写Docker文件的时间, 因为我很好地维护了Dockerfiles,所以这比以前的方式要少。
所以,这就是我的问题:这两种方法的优点/缺点是什么? 为什么Docker Inc.选择启动DockerHub服务而不是DockerfileHub服务?
任何建议或答案将不胜感激。 非常感谢!
答案 0 :(得分:3)
假设您从Dockerfile构建图像并将该图像推送到Docker Hub。在构建期间,您可以下载一些源代码并构建程序。但是当构建完成时,源将变得不可用。现在Dockerfile不能再使用了,但Docker Hub上的图像仍在使用。这是Docker Hub的专业人士。
但它也可以是一个骗局。例如,如果源代码包含像Heartbleed或Shellshock这样的可怕错误。然后修补源,但Docker Hub上的图像不会更新。
答案 1 :(得分:0)
实际上,推送图像的时间和构建图像的时间取决于您的环境。 例如,您可以为嵌入式系统预建一个映像,但您不希望在嵌入式系统上构建它。
Docker Hub提供了一个Automated Builds功能,它将从GitHub获取Dockerfile,并构建图像。所以你可以从GitHub获取图像的Dockerfile,没有必要提供共享Dockerfile
的服务。