Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dockerfile build - possible to ignore error?

Sure. Docker is just responding to the error codes returned by the RUN shell scripts in the Dockerfile. If your Dockerfile has something like:

RUN make

You could replace that with:

RUN make; exit 0

This will always return a 0 (success) exit code. The disadvantage here is that your image will appear to build successfully even if there are actual errors in the build process.


This might be of interest to those, whose potential errors in their images are not harmless enough to go unnoticed/logged. (Also, not enough rep. to comment, so here as an answer.)

As pointed out, the disadvantage of RUN make; exit 0 is you don't get to know, if your build failed. Hence, rather use something like:

make test 2>&1 > /where/ever/make.log || echo "There were failing tests!"

Like this, you get notified via the docker image build process log, and you can see what exactly went bad during make (or whatsoever else execution, this is not restricted to make).


You can also use the standard bash ignore error || true, which is nice if you are in the middle of a chain:

RUN <first stage> && <job that might fail> || true && <next stage>