[Docker] 로그 rotate Computer Tip

리눅스에서 Docker 로 컨테이너를 구성하고 컨테이너의 STDOUT 내용은
/var/lib/docker/containers/*/*.log 라는 이름으로 저장됩니다.

문제는 특별한 조치를 취하지 않으면 계속해서 해당 로그 파일에 큰 로그 파일이 찰 수 밖에
없는 것이지요.

이것을 logrotate 기능을 이용하는 방법입니다.

$ sudo vi /etc/logrotate.d/docker-container
/var/lib/docker/containers/*/*.log {
  rotate 7
  daily
  compress
  size=1M
  missingok
  delaycompress
  copytruncate
}

위와 같이 docker 컨테이너의 로그를 위한 설정을 지정합니다.

rotate 7 : 최대 log.1, log.2 등 7개의 파일을 보관하고
daily : 날마다 rotate 시키며
compress : 이전 로그는 압축하며
size=1M : 크기가 1메가 바이트를 넘으면 로테이트,
missingok : 해당 로그가 없어도 ok,
delaycompress : 
copytruncate : 복사본을 만들고 크기를 0으로 

라고 설정합니다.

현재 로그를 우선 적용해 보려면

$ sudo logrotate -fv /etc/logrotate.d/docker-container

라고 하면 됩니다.


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


덧글

댓글 입력 영역

구글애드텍스트