docker compose build:如果某个步骤失败x次,请重试该步骤?

docker compose build:如果某个步骤失败x次,请重试该步骤?,docker,build,docker-compose,Docker,Build,Docker Compose,部分原因是由于我们公司的互联网不好,我们在不断建造集装箱方面遇到了问题。假设我们有一个php fpm容器,它需要很多额外的软件,并且有大约60个构建步骤 现在,当执行docker compose build--no cache php fpm时,该过程通常会在执行apt get update或安装某个库时退出 输出如下: Step 29/56 : RUN apt-get update && apt-get -y --no-install-recommends instal

部分原因是由于我们公司的互联网不好,我们在不断建造集装箱方面遇到了问题。假设我们有一个php fpm容器,它需要很多额外的软件,并且有大约60个构建步骤

现在,当执行
docker compose build--no cache php fpm
时,该过程通常会在执行
apt get update
或安装某个库时退出

输出如下:

Step 29/56 : RUN apt-get update     && apt-get -y --no-install-recommends install wkhtmltopdf
 ---> Running in 7ec583e71349

[...]

Err:1 http://deb.debian.org/debian buster/main amd64 libdouble-conversion1 amd64 3.1.0-3
       Could not resolve 'deb.debian.org'
Err:2 http://deb.debian.org/debian buster/main amd64 libpcre2-16-0 amd64 10.32-5
  Could not resolve 'deb.debian.org' 

[.....]

ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c apt-get update     && apt-get -y --no-install-recommends install wkhtmltopdf' returned a non-zero code: 100

因此,我想知道是否有可能在退出构建过程之前让docker尝试一个步骤,甚至某些步骤三次?

如果您不在此处使用
--无缓存,docker将在停止的地方重新启动(假设您复制的
文件没有更改)。您几乎不需要
——无缓存
;你为什么把它放在这里?@DavidMaze有时候我们的缓存有问题。但是在使用--no cache之后,它可能已经被清除了?因为在第一次失败的构建之后,我可以删除它。