Dockerfile build – possible to ignore error?

I’ve got a Dockerfile. When building the image, the build fails on this error:

automake: error: no 'Makefile.am' found for any configure output
Error build: The command [/bin/sh -c aclocal && autoconf && automake -a] returned a non-zero code: 1

which in reality is harmless. The library builds fine, but Docker stops the build once it receives this error. Is there any way I can instruct Docker to just ignore this?

  • Docker.IO Filesystem Consistancy
  • Unable to get docker containers running disque to establish a cluster
  • How to create an overlay network with Docker?
  • how to copy file from my localhost to running container?
  • automate couchbase configuration in docker
  • Docker - SpringConfig - Connection refused to ConfigServer
  • Is it possible to set a different host port than the container's exposed port in docker?
  • Passing or setting password parameter to mercurial during docker build
  • Why does Docker keep around the stopped containers?
  • Restarting a docker that runs supervisord programs keeps pid files and causes error at restart
  • Docker: Using MacOS, how can I pull CENTOS behind a proxy?
  • Ansible docker_container 'no Host in request URL', docker pull works correctly
  • 2 Solutions collect form web for “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).

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.