IT이야기

Docker는 종료된 컨테이너의 로그를 봅니다.

cyworld 2021. 10. 18. 21:04
반응형

Docker는 종료된 컨테이너의 로그를 봅니다.


종료된 컨테이너의 로그를 볼 수 있는 방법이 있습니까?

를 사용하여 종료된 컨테이너의 컨테이너 ID를 얻을 수 docker ps -a있지만 실행 중일 때 무슨 일이 일어났는지 알고 싶습니다.


사용 docker logs. 또한 중지된 컨테이너에 대해 작동하고 컨테이너 기본 프로세스의 전체 STDOUT 및 STDERR 스트림을 캡처합니다.

$ docker run -d --name test debian echo "Hello World"
02a279c37d5533ecde76976d7f9d1ca986b5e3ec03fac31a38e3dbed5ea65def

$ docker ps -a
CONTAINER ID    IMAGE     COMMAND        CREATED             STATUS                     PORTS               NAMES
49daa9d41a24    debian    "echo test"    2 minutes ago       Exited (0) 2 minutes ago                       test

$ docker logs -t test
2016-04-16T15:47:58.988748693Z Hello World

docker logs --tail=50 <container id> 마지막 50줄 - 컨테이너가 오랫동안 실행되었을 때 유용합니다.


아래 명령을 사용하여 종료된 컨테이너에서도 로그를 복사할 수 있습니다.

docker cp container_name :path_of_file_in_container destination_path_locally

예:

docker cp sravya:/tmp/report /root/mylog

종료된 컨테이너의 로그 파일을 less에서 직접 보려면 파일 끝까지 스크롤하여 다음을 사용합니다.

docker inspect $1 | grep 'LogPath' | sed -n "s/^.*\(\/var.*\)\",$/\1/p" | xargs sudo less +G

./viewLogs.sh CONTAINERNAME으로 실행

이 방법은 docker logs파일이 스트리밍되는 대신 직접 열리는 기반 접근 방식에 비해 이점 이 있습니다.

LogPath/File은 일반적으로 루트 소유 아래에 있으므로 sudo가 필요합니다.

ReferenceURL : https://stackoverflow.com/questions/36666246/docker-look-at-the-log-of-an-exited-container

반응형