每当我做出改变时,Docker Hub是否需要上传整个映像?
我正在尝试Docker,我做了以下:
-
docker/whalesay
一个叫做:docker/whalesay
- 修改了一些小的变化的图像。
- 把它推回到我的公共仓库(不得不上传大约相同的大小,我下载)。
- 然后我以这个公众形象为出发点build立了另一个形象。
- 只有一个命令。 但是我不得不上传整个图像。
我的问题是,不是Docker应该只上传更改? 我在某处读过 看来我犯了一个愚蠢的错误,我不能相信我们必须每次上传整个图像后,每一个小的变化。 我错过了什么吗?
这是我用来构build图像fishsay
:
FROM docker/whalesay:latest RUN apt-get -y update && apt-get install -y fortunes CMD /usr/games/fortune -a | cowsay
鲸鱼的形象是〜180 MB; 所以当我推动不应该只上传更改的图层?
当您调用docker push
时,图像中任何对图层的更改都需要在存储库中更新。 这可能是一个小而琐碎的事情,比如在图像中包含一个新的包(例如:vi)。 但是,这会导致创build新的图层,并replace现有的图层,从而导致不同的图层标识。 docker push
上传所有创build到registry中的新图层,不包括基本图像。
我也面临同样的问题,我来到的是
https://github.com/docker/docker/issues/18866#issuecomment-192770785 https://github.com/docker/docker/issues/14018
正如上面提到的,这个特性是在Docker Engine 1.10 / Registry 2.3中实现的。
在发送邮件给docker的支持后,我收到了以下回复
你好,
不幸的是,我们没有任何时间表来更新Docker Hub,我们可以公开分享。 对不起,由此造成的麻烦。
/杰夫