종료된 컨테이너의 로그를 확인하는 도커
종료된 컨테이너의 로그를 볼 수 있는 방법이 있습니까?
다음을 사용하여 종료된 컨테이너의 컨테이너 ID를 가져올 수 있습니다.docker ps -a작동할 때 무슨 일이 있었는지 알고 싶습니다.
사용. 또한 중지된 컨테이너에 대해 작동하며 컨테이너의 기본 프로세스의 전체 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줄 동안 - 컨테이너가 오랫동안 작동할 때 유용합니다.
다음 명령을 사용하여 종료된 컨테이너에서도 로그를 복사할 수 있습니다.
dockercp컨테이너_이름:path_of_file_in_message destination_path_hostname
예:
docker cp sample_container:/tmp/report /root/mylog
종료된 컨테이너의 로그 파일을 파일 끝까지 스크롤하여 더 적게 보려면 다음을 사용합니다.
docker inspect $1 | grep 'LogPath' | sed -n "s/^.*\(\/var.*\)\",$/\1/p" | xargs sudo less +G
./viewLogs.sh CONTENTERNAME으로 실행
이 방법은 다음과 같은 이점이 있습니다.docker logs파일을 스트리밍하는 대신 직접 여는 방식입니다.
보통 LogPath/File이 루트 소유 하에 있기 때문에 sudo가 필요합니다.
@위의 아이스레이서나 코멘트는 실제로 문제를 해결하는 데 도움이 되었습니다.나의 특정 상황에서 실행이 중지된 컨테이너는 컨테이너 이름이 없고 컨테이너 ID만 있었습니다.
로그를 발견한 단계는 이 게시물에도 나열되어 있습니다.
- 다음을 통해 중지된 컨테이너 찾기
docker ps -a - 장애가 발생한 컨테이너의 컨테이너 ID를 가져옵니다.
- 이 명령으로 대체
cat /var/lib/docker/containers/<container id>/<container id>-json.log
언급URL : https://stackoverflow.com/questions/36666246/docker-look-at-the-log-of-an-exited-container
'programing' 카테고리의 다른 글
| PowerShell: 문자열을 N자로 제한하는 방법은 무엇입니까? (0) | 2023.08.13 |
|---|---|
| 사파리에만 스타일을 적용할 수 있는 방법이 있습니까? (0) | 2023.08.13 |
| PHP 사이트에서 xss 공격을 피하기 위한 최상의 방법은 무엇입니까? (0) | 2023.08.13 |
| NumPy 배열의 임플레이스 유형 변환 (0) | 2023.08.13 |
| jQuery를 사용하여 텍스트 선택을 비활성화하는 방법은 무엇입니까? (0) | 2023.08.13 |