Ich hatte ein Problem mit einem Container, obwohl er perfekt aufgebaut ist, startet er nicht richtig. Die Ursache ist eine Problemumgehung, die ich der Docker-Datei hinzugefügt habe (für ein selbstkonfiguriertes / etc / hosts-Routing).
RUN mkdir -p -- /lib-override /etc-override && cp /lib/libnss_files.so.2 /lib-override
ADD hosts.template /etc-override/hosts
RUN perl -pi -e 's:/etc/hosts:/etc-override/hosts:g' /lib-override/libnss_files.so.2
ENV LD_LIBRARY_PATH /lib-override
Offensichtlich ist da ein Fehler, aber ich frage mich, wie ich mehr Informationen darüber bekommen kann, was Docker während des Betriebs macht. Das funktioniert zum Beispiel:
$ docker run image ls
usr bin ...
Das tut es aber nicht:
$ docker run image ls -l
$
Die Protokolle enthalten nichts und ich kann auch keine interaktive Shell aufrufen. Ich kann strace benutzen, um zu sehen, was passiert, aber ich hatte gehofft, dass es einen besseren Weg gibt.
Kann ich den Docker so einstellen, dass er ausführlicher ist?
EDIT : Dank Andrew D. weiß ich jetzt, was mit dem obigen Code falsch ist (ich habe ihn verlassen, damit seine Antwort verstanden werden kann). Jetzt ist die Frage noch, wie ich so etwas debuggen oder ein paar Einblicke in die Gründe bekommen kann, warum ls -l versagt hat, warum ls nicht.
EDIT : Die -D = true könnte mehr Ausgabe geben, aber nicht in meinem Fall ...