반응형
서버를 새로 띄웠는데 갑자기 실행이 안되거나 에러가 날 때, 직접 로그를 보면서 어떤 문제가 있었는지를 파악하는 편인데 그 때마다 도커 명령어를 사용하게 된다. 그 중 로그를 볼 수 있는 docker logs 명령어를 통해 원하는 옵션대로 원하는 로그를 볼 수 있다.
docker logs란?
docker logs 명령어는 Docker 컨테이너의 로그 정보를 확인하는데 도움을 주는데 이 명령어를 통해 컨테이너의 표준 출력과 표준 에러 스트림에 기록된 정보를 확인할 수 있다.
docker logs의 주요 옵션
--follow, -f | 로그 출력을 실시간으로 계속 볼 수 있는 옵션 |
--tail | 마지막 N개의 로그 라인만 표시하는 옵션 |
--since | 특정 타임 스탬프 이후의 로그만을 표시하는 옵션 |
--until | 특정 타임스탬프 이전의 로그만을 표시하는 옵션 |
--timestamps, -t | 각 로그 라인에 타임스탬프를 추가하는 옵션 |
--details | 추가적인 로그 세부 정보를 표시하는 옵션 |
자주 사용하는 docker logs 명령어
1. 기본 로그 확인:
docker logs [컨테이너_이름/ID]
2. 실시간 로그 확인:
docker logs -f [컨테이너_이름/ID]
3. 최근 N개의 로그 라인만 확인:
docker logs --tail N [컨테이너_이름/ID]
4. 특정 시간 이후의 로그 확인:
docker logs --since "2024-01-01T00:00:00" [컨테이너_이름/ID]
5. 타임스탬프와 함께 로그 확인:
docker logs -t [컨테이너_이름/ID]
6. 최근 100개의 로그를 실시간으로 확인:
docker logs -f --tail 100 [컨테이너_이름/ID]
로그 필터링 하는 방법
테스트를 하다보면 로그 출력이 너무 많아 원하는 로그를 찾기 어려운 경우도 많을텐데 그 때는 grep 명령어와 함께 사용하여 특정 키워드를 포함한 로그만 필터링하는 것이 가능하다. 또한 로그를 파일로 저장하여 보관할 수도 있는데 다양한 옵션과 명령어를 통해 원하는 작업을 실행할 수 있다.
1. 로그 필터링 방법:
docker logs [컨테이너_이름/ID] | grep "ERROR"
2. 로그를 파일로 저장하기:
docker logs [컨테이너_이름/ID] > container_log.txt
반응형