[Docker] 도커 컨테이너 다루기 : 로그 처리
도커 컨테이너 다루기 : 로그
1. STDOUT / STDERR (표준 출력 / 표준 에러)
-
어플리케이션에서 내보내는 로그의 메세지를 표준출력 형태와 표준에러 형태에 맞춰 주어야 한다.
-
각 컨테이너에서 내보내는 로그를 취합하는게 logging driver 다. 관련 제품과 상품은 많다.
2. 로그 확인 하기
- docker logs 명령어
# 전체 로그 확인
docker logs [container]
# 마지막 로그 10줄 확안
docker logs --tail 10 [container]
# 실시간 로그 스트림 확인
docker logs -f [container]
# 로그마다 타임스탬프 표시
docker logs -f -t [container]
3. 호스트 운영체제의 로그 저장 경로
- 리눅스 docker의 경우(Default) 로그 파일 저장 호스트 경로
- cat /var/lib/docker/container/${CONTAINER_ID}/${CONTAINER_ID}-json.log
- Docker for Windows의 경우 로그 파일 저장 호스트 경로 (20.10. 버전 이후 부터)
- \wsl$\docker-desktop-data\data\docker\containers${CONTAINER_ID}/${CONTAINER_ID}-json.log
4. 로그 용량 제한하기
- 컨테이너 단위로 로그 용량을 제한가능
- 도커엔진에서 기본 설정을 진행할 수도 있음
- 운영환경에서 필수 설정 대상!
docker run `
-d `
# 로그 드라이버는 json-file 형식으로
--log-driver=json-file `
# 파일 한 개당 로그파일의 크기를 3MB로 제한
--log-opt max-size=3m `
# 최대 로그 파일의 갯수는 3개로 로케이팅
--log-opt max-file=5 `
nginx
5. 도커 로그 드라이버
- 기본 표준의 로그 출력 내용에 따라 해당 로그 시스템 구축은 다양하게 변경될 수 있다.
Comments