본문 바로가기
Docker

[Docker] Docker 컨테이너 로그 관리

by yonikim 2021. 6. 16.
728x90

AWS EC2 인스턴스에 API 를 docker 로 띄웠었는데,

docker 컨테이너 로그가 쌓이며 디스크 용량 부족으로 인하여 API 가 죽었고 서비스가 약 30분 정도 정지되었다.

 

또 이런 일이 발생하지 않도록 하기 위해 리눅스의 logrotate 를 이용하여 docker 컨테이너 로그를 관리하려고 한다.

 

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

 

/var/lib/docker/containers/*/*.log {
  rotate 7
  daily
  compress
  size=1M
  missingok
  delaycompress
  copytruncate
}

 

- rotate 7: 백업하는 개수. 최대 7개의 파일을 보관 (log.1, log.2, ..., log.7)

- daily:  로그회전 주기 (yearly : 매년,monthly : 매월,weekly : 매주,daily : 매일) 

- compress: 로그파일 압축

- size=1M: 크기가 1메가 바이트를 넘으면 실행

- missingok: 로그파일이 없는 경우 에러 없이 다음 rotate 실행

- delaycompress : 로그 압축시 백업한 로그를 재백업할 때 압축

- copytruncate : log.1처럼 log를 나눠서 실행

 

728x90