컨테이너가 완벽하게 빌드되었지만 제대로 시작되지 않더라도 컨테이너에 문제가 있습니다. 원인은 Dockerfile에 추가 한 해결 방법입니다 (자체 구성 / etc / hosts 라우팅을 위해)
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
분명히 거기에 약간의 오류가 있지만 실행 중에도 커가 수행하는 작업에 대한 자세한 정보를 얻을 수있는 방법이 궁금합니다. 예를 들어 다음과 같이 작동합니다.
$ docker run image ls
usr bin ...
그러나 이것은하지 않습니다 :
$ docker run image ls -l
$
로그에 아무것도 없으며 대화 형 쉘을 호출 할 수 없습니다. 나는 strace를 사용하여 무슨 일이 일어나고 있는지 알 수 있지만 더 좋은 방법이 있기를 바랐습니다.
도커를보다 자세하게 설정할 수있는 방법이 있습니까?
편집 : Andrew D 덕분에 위의 코드에 문제가 있음을 알았습니다 (그의 대답을 이해할 수 있도록 남겨 두었습니다). 이제 문제는 여전히 어떻게 ls -l이 ls 가 실패했는지 왜 실패했는지에 대해 어떻게 이런 식으로 디버깅하거나 내부를 얻을 수 있습니까 ?
편집 : 내 경우에는 아니지만 -D = true 더 많은 출력을 줄 수 있습니다 ...