본문으로 바로가기
728x90
반응형
SMALL

보통 우리는 도커 이미지로 애플리케이션을 배포한다.

그리고 애플리케이션 로그를 확인할땐 도커 명령어로 확인한다.

docker logs

 

도커에서 확인하는 수많은 로그들은 과연 어디에 저장되는 것일까?

/var/lib/docker/containers/컨테이너ID/컨테이너ID-json.log 파일이 생성되고 여기에 기록된다.

이 로그 파일은 컨테이너가 삭제될 때, 함께 삭제되므로 컨테이너를 삭제하기 전까지 계속 쌓이게 되고 디스크 공간을 잡아먹는 괴물이 된다.

 

당장 디스크 공간이 필요하다면 로그 파일을 초기화하여 디스코 공간을 확보하자.

truncate -s 0 컨테이너ID-json.log

 

해결방안

 

로그 로테이션 설정

로그 파일 최대 크기, 최대 개수 지정 활성화

 

기본 로깅 드라이버 구성

sudo vi /etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "5"
  }
}

 

도커 재시작

sudo systemctl restart docker

 

1. 도커 run 실행시

docker run -d --log-driver json-file --log-opt max-size=10m --log-opt max-file=10

 

2.도커 compose 실행시

logging:
  driver: 'json-file'
  options:
    max-size: '10m'
    max-file: '10'
728x90
반응형
LIST