docker container logs

docker container logs

docker container logs는 컨테이너의 로그를 가져오는 명령이에요. 컨테이너가 출력한 로그를 확인해서 문제를 진단하고 싶을 때 가장 자주 쓰는 명령이에요.

출처: 문서

본문

docker logs 명령은 실행 시점에 존재하는 로그를 일괄(batch)로 가져와요. 로깅 드라이버의 선택과 구성에 대한 자세한 내용은 Configure logging drivers를 참고해요.

사용법 (Usage)

docker container logs [OPTIONS] CONTAINER

별칭 (Aliases)

별칭은 긴 명령 대신 쓸 수 있는 짧고 기억하기 쉬운 대안이에요.

docker logs

옵션 (Options)

옵션 기본값 설명
--details 로그에 제공된 추가 세부 정보를 보여 줘요
-f, --follow 로그 출력을 따라가요(실시간)
--since 해당 타임스탬프(예: 2013-01-02T13:23:37Z)나 상대 시간(예: 42분이면 42m) 이후의 로그를 보여 줘요
-n, --tail all 로그 끝에서 몇 줄을 보여 줄지 정해요
-t, --timestamps 타임스탬프를 보여 줘요
--until API 1.35+ 해당 타임스탬프(예: 2013-01-02T13:23:37Z)나 상대 시간(예: 42m) 이전의 로그를 보여 줘요

예제 (Examples)

로그 출력 스트리밍하기 (-f, --follow)

docker logs --follow 명령은 컨테이너의 STDOUT과 STDERR에서 새 출력을 계속 스트리밍해요.

마지막 로그 가져오기 (-n, --tail)

--tail에 음수나 정수가 아닌 값을 넘기면 유효하지 않으며, 그 경우 값이 all로 설정돼요.

타임스탬프와 함께 로그 가져오기 (-t, --timestamps)

docker logs --timestamps 명령은 각 로그 항목에 RFC3339Nano 타임스탬프(예: 2014-09-16T06:17:46.000000000Z)를 추가해요. 타임스탬프를 정렬하기 위해 필요할 때 타임스탬프의 나노초 부분을 0으로 채워요.

추가 속성으로 로그 가져오기 (--details)

docker logs --details 명령은 컨테이너를 만들 때 --log-opt에 제공된 환경 변수·라벨 같은 추가 속성을 붙여 줘요.

특정 시점 이후 생성된 로그 가져오기 (--since)

--since 옵션은 주어진 날짜 이후 생성된 컨테이너 로그만 보여 줘요. 날짜는 RFC 3339 날짜, UNIX 타임스탬프, 또는 Go duration 문자열(예: 1m30s, 3h)로 지정할 수 있어요. RFC3339 외에도 RFC3339Nano, 2006-01-02T15:04:05, 2006-01-02T15:04:05.999999999, 2006-01-02T07:00, 2006-01-02 형식을 쓸 수 있어요. 타임스탬프 끝에 Z 또는 +-00:00 타임존 오프셋을 제공하지 않으면 클라이언트의 로컬 타임존이 사용돼요. UNIX 타임스탬프를 제공할 때는 seconds[.nanoseconds] 형식인데, seconds는 1970년 1월 1일(UTC/GMT 자정, 윤초 제외, 즉 Unix epoch 또는 Unix time) 이후 경과한 초 수이고, 선택적 .nanoseconds 필드는 9자리 이하의 초의 분수예요. --since 옵션은 --follow 또는 --tail 옵션 중 하나 또는 둘 다와 조합할 수 있어요.

특정 시점까지의 로그 가져오기 (--until)

특정 시점 이전의 로그를 가져오려면 다음과 같이 실행해요.

$ docker run --name test -d busybox sh -c "while true; do $(echo date); sleep 1; done"
$ date
Tue 14 Nov 2017 16:40:00 CET
$ docker logs -f --until=2s test
Tue 14 Nov 2017 16:40:00 CET
Tue 14 Nov 2017 16:40:01 CET
Tue 14 Nov 2017 16:40:02 CET

더 알아보기 (Learn more)