docker service logs
docker service logs
docker service logs는 서비스 또는 태스크의 로그를 가져오는 명령이에요. Swarm 서비스가 출력한 로그를 확인하고 싶을 때 써요.
출처: 문서
본문
docker service logs 명령은 실행 시점에 존재하는 로그를 일괄 검색해요.
Swarm: 이 명령은 Swarm 오케스트레이터와 함께 작동해요.
참고: 이 명령은 클러스터 관리 명령이므로 Swarm 매니저 노드에서 실행해야 해요. 매니저와 워커에 대해 알아보려면 문서의 Swarm mode 섹션을 참고하세요.
docker service logs 명령은 서비스의 이름 또는 ID, 또는 태스크의 ID와 함께 사용할 수 있어요. 서비스가 전달되면 그 서비스의 모든 컨테이너 로그를 표시해요. 태스크가 전달되면 그 특정 태스크의 로그만 표시해요.
참고: 이 명령은
json-file또는journald로깅 드라이버로 시작된 서비스에서만 작동해요.
로깅 드라이버 선택과 구성에 대한 자세한 내용은 Configure logging drivers를 참고하세요.
docker service logs --follow 명령은 서비스의 STDOUT과 STDERR에서 새 출력을 계속 스트리밍해요. --tail에 음수 또는 정수가 아닌 값을 전달하는 것은 무효이며, 그 경우 값은 all로 설정돼요.
docker service logs --timestamps 명령은 각 로그 항목에 RFC3339Nano 타임스탬프(예: 2014-09-16T06:17:46.000000000Z)를 추가해요. 타임스탬프를 정렬되게 하려면 필요할 때 타임스탬프의 나노초 부분이 0으로 채워져요.
docker service logs --details 명령은 서비스를 만들 때 --log-opt에 제공된 환경 변수와 레이블 같은 추가 속성을 더해요.
--since 옵션은 주어진 날짜 이후에 생성된 서비스 로그만 보여 줘요. 날짜를 RFC 3339 날짜, UNIX 타임스탬프, 또는 Go 기간 문자열(예: 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 중 하나 또는 둘 다와 결합할 수 있어요.
사용법 (Usage)
docker service logs [OPTIONS] SERVICE|TASK
옵션 (Options)
| 옵션 | 기본값 | 설명 |
|---|---|---|
--details |
API 1.30+ | 로그에 제공된 추가 세부 사항을 표시해요 |
-f, --follow |
로그 출력을 따라가요 | |
--no-resolve |
출력에서 ID를 이름으로 매핑하지 않아요 | |
--no-task-ids |
출력에 태스크 ID를 포함하지 않아요 | |
--no-trunc |
출력을 자르지 않아요 | |
--raw |
API 1.30+ | 로그를 깔끔하게 형식화하지 않아요 |
--since |
타임스탬프 이후의 로그를 표시해요 (예: 2013-01-02T13:23:37Z) 또는 상대적 (예: 42m은 42분) |
|
-n, --tail |
all |
로그 끝에서 표시할 줄 수예요 |
-t, --timestamps |
타임스탬프를 표시해요 |