Docker
Docker Compose 컨테이너 로그가 디스크를 채운 뒤 적용한 회전 설정
컨테이너의 json 로그가 디스크를 가득 채운 장애를 확인하고 로그 회전을 설정한 운영 노트
배포 실패보다 디스크를 먼저 봤다
SSH가 느려지고 새 이미지 풀도 실패했다. 애플리케이션 로그를 찾기 전에 df -h를 실행했고, /var/lib/docker/containers 아래 한 *-json.log가 비정상적으로 커져 있었다.
df -h
sudo du -xh /var/lib/docker/containers | sort -h | tail -n 10
Compose 설정을 바꿨다
services:
web:
image: example/web:latest
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
이미 실행 중인 컨테이너에는 새 옵션이 자동 적용되지 않아 설정을 검증한 뒤 재생성했다.
docker compose config
docker compose up -d --force-recreate web
docker inspect web --format '{{json .HostConfig.LogConfig}}'
운영 기준
로그 회전은 저장 공간을 제한할 뿐 반복 경고의 원인을 해결하지 않는다. docker system prune을 습관처럼 실행하지 않고, 디스크 임계치 알림도 추가했다.
- 실제 컨테이너의 LogConfig 확인
- 재생성 이후 로그 파일 크기 관찰
- 반복 에러의 원인 별도 수정
- 보존해야 할 로그는 외부 수집
장애 때 지울 명령 하나를 찾기보다 평소에 커지지 않게 만드는 설정이 먼저였다.