K8S/Docker
Docker 로그 관리
Rainbound-IT
2024. 1. 22. 10:58
반응형
목차
서론
docker를 설치한뒤 로그가 많이 생기는 컨테이너가 있다.
docker의 /var/lib/docker/containers 경로를 보면 생성한 컨테이너에 로그를 보면 보통은 별로 안쌓이는데
큰 여러가지 많은 것이 설치된 컨테이너의 경우는 로그의 용량이 순식간에 늘어난다.
logrotate로 관리하면 될것 같은데 docker인데 docker 만의 로그 관리 기법이 있어서 포스팅한다.
관리 방법
/etc/docker/폴더에 들어가서 daemon.json파일을 생성하여 다음과 같은 양식으로 만들어 준다.
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
}
}
형식과 파일 사이즈와 파일 갯수로 설정하면 됩니다.
그리고 반드시 systemctl restart docker 로 docker를 재실행을 해줘야 합니다.
systemctl restart docker
이때 컨테이너는 이 daemon.json 파일 생성이후 생성된 컨테이너어야 적용이 됩니다.
실행시 적용하는 방법은 옵션을 다음과 같이 주면된다.
$ docker run \
--log-driver json-file \
--log-opt max-size=15m \
--log-opt max-file=5 \
nginx echo hello world
확인
docker inspect --format '{{.HostConfig.LogConfig}}' [container ID]로 확인이 가능하다.
Reference
https://docs.docker.com/config/containers/logging/json-file/
반응형