繁体   English   中英

如何在构建期间保存 docker 容器状态?

[英]How can I save docker container state during builds?

我正在构建一个 docker 镜像,它执行了很多apt-get installs ,当一个失败时,容器构建错误和修复 Dockerfile docker docker build -t tag . 仍将下载在第一个构建中成功安装的依赖项。 我怎样才能让docker build从它停止的地方继续?

要考虑的一种选择是使用单独的 Dockerfile。 然后,您可以根据文档简单地使用--cache-from标志将基本图像用作缓存。

另请参阅:如何使用缓存快速重建 dockerfile?

Docker 将运行整个RUN命令,缓存就在那个级别。 通常只有一个RUN apt-get install行是有益的,但分解它实际上并没有错

FROM ubuntu:18.04
RUN apt-get update \
 && DEBIAN_FRONTEND=noninteractive \
    apt-get install package1 package2 package3
RUN apt-get update \
 && DEBIAN_FRONTEND=noninteractive \
    apt-get install package4 package5 package6

然后,如果下载package5失败,重新运行package5 docker build将在安装了前三个包的缓存层之后开始。

(如果您安装的软件包太多以至于这通常是一个问题,还请考虑是否可以将容器的范围缩小到需要较少初始下载的较小范围。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM