Tôi đã có một vấn đề với một container, mặc dù nó được xây dựng hoàn hảo nhưng nó không khởi động đúng cách. Nguyên nhân là do một cách giải quyết mà tôi đã thêm vào Dockerfile (để có định tuyến tự cấu hình / 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
Rõ ràng có một số lỗi trong đó, nhưng tôi tự hỏi làm thế nào tôi có thể biết thêm thông tin về những gì docker đang làm trong khi chạy. ví dụ, điều này hoạt động:
$ docker run image ls
usr bin ...
Nhưng điều này không:
$ docker run image ls -l
$
Không có gì trong nhật ký và tôi cũng không thể gọi một vỏ tương tác. Tôi có thể sử dụng strace để xem những gì đang xảy ra nhưng tôi đã hy vọng có một cách tốt hơn.
Có cách nào để tôi có thể thiết lập docker dài dòng hơn không?
EDIT : Cảm ơn Andrew D. Bây giờ tôi biết có gì sai với đoạn mã trên (tôi đã để nó để câu trả lời của anh ấy có thể hiểu được). Bây giờ vấn đề vẫn là làm thế nào tôi có thể gỡ lỗi một cái gì đó như thế này hoặc nhận được một số nội bộ tại sao ls -l thất bại tại sao ls không.
EDIT : -D = true có thể cho đầu ra nhiều hơn, mặc dù không phải trong trường hợp của tôi ...