如何只推动泊坞窗图像的特定变化

所以,我正在创buildDockerfile,使用我已经存在的ansible-wrok。

例如:-

COPY run.sh /root/run.sh RUN chmod +x /root/run.sh RUN ansible-playbook ansible/haproxy.yml -vvvv 

上面,DockerFile创build我的图像。

现在,如果我想在创build图像后添加一些东西,可以说在容器中创build一个新目录

  RUN mkdir test 

但是,如果我再次运行docker build命令来创build映像,它将从头开始运行。

有没有一种方法可以只推送泊坞窗图像中修改过的更改?

只要没有变化:

  • Dockerfile RUN mkdir test之前的行
  • 和上下文中的所有文件(默认包含Dockerfile目录),这些文件在前面的行中被引用

当运行后续的docker build ,守护进程将使用该项目以前版本的caching。 如果图像是从头开始构build的,则意味着其中一个条件不满足。

Docker镜像被保存并分层传输。 虽然docker images会显示docker images的总大小,但是docker足够聪明,可以重复使用在多个图像之间共享的图层,也就是说,如果caching按预期工作,则后续的构build和推送应该比从头开始更快。