Docker 컨테이너 로그 관리는 중요한 주제 중 하나입니다. 로그가 무제한으로 쌓이면 서버 디스크 공간 부족 문제가 발생할 수 있습니다. 여기에 몇 가지 관련 정보와 해결 방법을 제공합니다
로깅 드라이버 및 로그 위치
Docker에서는 컨테이너 및 서비스의 로그를 관리하기 위한 로깅 드라이버를 제공합니다. 기본적으로 Docker는 json-file 로깅 드라이버를 사용하며, 로그는 `/var/lib/docker/containers/[Container-ID]/[Container-ID]-json.log` 경로에 저장됩니다.
로그 파일 크기 관리
Docker 컨테이너의 로그 파일 크기가 무한정으로 커지지 않도록 관리하는 것이 중요합니다. 이를 위해 다음과 같은 방법을 사용할 수 있습니다:
1. 로그 파일 삭제:
더 이상 필요하지 않는 컨테이너를 `docker rm` 또는 `docker-compose down` 명령어로 삭제하면 해당 컨테이너의 로그 디렉터리가 함께 삭제됩니다. 이로써 해당 로그 파일도 삭제됩니다.
2. 로그 파일 크기 조절:
`truncate -s 0 <json-log-file>` 명령어를 사용하여 로그 파일 크기를 0으로 만들 수 있습니다. 이렇게 하면 로그 파일을 비우고 사용 가능한 공간을 확보할 수 있습니다.
3. 로그 스테이션 설정:
Docker의 로그 스테이션 설정을 통해 로그 파일의 최대 크기(`max-size`)와 최대 파일 개수(`max-file`)를 지정할 수 있습니다. 파일 크기가 `max-size`에 도달하면 새 파일로 교체되고, 이전 파일은 숫자를 늘려가며 백업됩니다.
예를 들어, 다음과 같이 Docker Compose 파일에 로그 스테이션 설정을 추가할 수 있습니다:
services:
myapp:
image: myapp-image
logging:
driver: json-file
options:
max-size: 10m
max-file: 5
위 설정은 컨테이너의 로그 파일이 10MB 크기에 도달하면 새 파일로 교체하고, 최대 5개의 로그 파일을 유지하도록 합니다. 이를 통해 로그 파일 크기를 관리하고 디스크 공간을 효과적으로 사용할 수 있습니다.
'cloud' 카테고리의 다른 글
IBM의 AI 전용칩 '노스폴'로 AI 컴퓨팅 혁명의 문을 열다 (1) | 2023.10.22 |
---|---|
아마존헬스케어 클라우드와 헬스케어의 핵심 (0) | 2023.09.27 |
AWS와 Azure 간의 5가지 주요 차이점 (0) | 2023.09.07 |
공공 클라우드의 미래 청신호와 함께 다가오는 변화 (0) | 2023.08.25 |
멀티 클라우드에 알맞는 ADC 적용 (0) | 2023.08.23 |