是否可以更快地部署新发布的docker image?

时间:2018-03-17 09:24:30

标签: docker dockerfile

我有一个带有以下dockerfile的图片:

FROM ubuntu:14.04
# others here

然后我跟着:

docker pull user/prj:1.0

有一天,我将我的prj更新为2.0。 为了节省磁盘,我按如下方式执行:

docker rmi user/prj:1.0
docker pull user/prj:1.1

但我发现新的拉动仍然需要花费很多时间。 快速完成这一过程的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

可能是两个图像共享一些图层。删除旧图像时,删除这些图层,需要再次下载。 所以反过来这样做

docker pull user/prj:1.1
docker rmi user/prj:1.0

通常会更快。

答案 1 :(得分:0)

Docker镜像由图层组成。每个图层都有一个唯一的名称,当您首先移动图像并且该图层不再被其他图像引用时,该图层将被删除。因此,当您尝试获取更新的图像时,即使它具有包含旧图像的重复图层,您也必须进行完整下载。

您可以按以下方式查看图像图层:

sudo docker image inspect user/prj:1.0

当你在docker文件中使用FROM ubuntu:14.04时,最好的选择是

be downloading the base image of `ubuntu:14.04`:
sudo docker pull ubuntu:14.04