Ich habe eine Docker-Datei. Beim Erstellen des Images schlägt der Build bei diesem Fehler fehl:
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
was in Wirklichkeit harmlos ist. Die Bibliothek wird einwandfrei erstellt, Docker stoppt den Build jedoch, sobald dieser Fehler auftritt. Kann ich Docker auf irgendeine Weise anweisen, dies einfach zu ignorieren?
docker
dockerfile
Oskar
quelle
quelle
service php7-fpm start
. Es würde 1 zurückgeben und RUN würde fehlschlagen; usingservice php7-fpm start; service php7-fpm status
macht den Trick - es scheint auch während des Builds ein Problem zu lösen, da beide Befehle, die getrennt ausgeführt werden, Probleme verursachen würden.Dies könnte für diejenigen von Interesse sein, deren potenzielle Fehler in ihren Bildern nicht harmlos genug sind , um unbemerkt / protokolliert zu bleiben . (Auch nicht genug rep. Um zu kommentieren, also hier als Antwort.)
Wie bereits erwähnt, besteht der Nachteil
RUN make; exit 0
darin, dass Sie nicht wissen, ob Ihr Build fehlgeschlagen ist. Verwenden Sie daher lieber etwas wie:Auf diese Weise werden Sie über das Docker-Image-Build-Prozessprotokoll benachrichtigt und können sehen, was genau während der
make
Ausführung (oder bei jeder anderen Ausführung, auf die dies nicht beschränkt ist) fehlerhaft war .quelle
apt-get update -y
fehlschlugen.Sie können auch den Standard-Bash-Ignorierfehler verwenden. Dies
|| true
ist hilfreich, wenn Sie sich mitten in einer Kette befinden:quelle