less than 1 minute read

도커 컨테이너 다루기 : 로그

1. STDOUT / STDERR (표준 출력 / 표준 에러)

도커 볼륨 01

  • 어플리케이션에서 내보내는 로그의 메세지를 표준출력 형태와 표준에러 형태에 맞춰 주어야 한다.

  • 각 컨테이너에서 내보내는 로그를 취합하는게 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. 도커 로그 드라이버

도커 볼륨 02

  • 기본 표준의 로그 출력 내용에 따라 해당 로그 시스템 구축은 다양하게 변경될 수 있다.

Categories:

Updated:

Comments