code - docker build with name and tag




Dockerfile build-possible d'ignorer l'erreur? (2)

J'ai un fichier Docker. Lors de la construction de l'image, la construction échoue avec cette erreur:

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

ce qui en réalité est inoffensif. La bibliothèque se construit bien, mais Docker arrête la construction dès qu’il reçoit cette erreur. Est-il possible de demander à Docker de l'ignorer?


Cela pourrait intéresser ceux dont les erreurs potentielles dans leurs images ne sont pas suffisamment anodines pour passer inaperçues / enregistrées . (En outre, pas assez de représentants pour commenter, alors voici une réponse.)

Comme indiqué, les inconvénients de RUN make; exit 0 RUN make; exit 0 est que vous ne saurez pas si votre build a échoué. Par conséquent, utilisez plutôt quelque chose comme:

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

De cette manière, vous êtes averti via le journal du processus de construction de l'image du menu fixe et vous pouvez voir ce qui s'est vraiment mal passé au cours de make (ou de toute autre exécution, cette opération n'est pas limitée à make).


Sûr. Docker ne fait que répondre aux codes d'erreur renvoyés par les scripts de shell RUN dans le Dockerfile . Si votre Dockerfile a quelque chose comme:

RUN make

Vous pouvez remplacer cela par:

RUN make; exit 0

Cela retournera toujours un code de sortie 0 (succès). L'inconvénient ici est que votre image semblera créer correctement, même s'il y a des erreurs réelles dans le processus de construction.





dockerfile