[Docker] 컨테이너의 로그 크기 조절 Develop Tip

예전에 docker 로그의 logroatate에 관하여 살펴본 적이 있습니다만,
더 좋은 방법이 없을까 최근에 찾아보니 이미 몇년 전에 해당
솔루션들이 있더군요.

이용 방법은 로그 드라이버 지정 및 옵션 설정입니다.

이용하는 방법은 다음과 같습니다.
상세 항목 및 값은 위의 링크를 참조합니다.


1) daemon.json 전체 docker 설정하는 경우

리눅스의 /etc/docker 또는 윈도우의 C:\ProgramData\docker\config\ 에 daemon.json 에 다음과 같이 지정합니다.

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3",
    "labels": "production_status",
    "env": "os,customer"
  }
}

그리고 docker 서비스를 재시작합니다.


2) docker 명령을 직접 이용할 경우

docker run --log-opt max-size=100m --log-opt max-file=5 my-app:latest

와 같이 --log-out 옵션을 이용합니다.

최대 100메가 크기의 5개의 파일이 로그 로테이트 됩니다.


3) docker-compose.yaml 에 개별 지정하는 경우

docker-compose.yaml 에는 다음과 같은 식으로 image 다음에 지정하고 docker-compose를 재시작하면 됩니다.

my-app:
  image: my-app:latest
  logging:
    driver: "json-file"
    options:
      max-file: "5"
      max-size: "100m"


어느 분께는 도움이 되셨기를 ..


덧글

댓글 입력 영역

구글애드텍스트