내 모든 디스크 공간을 차지하는 Docker 컨테이너 로그
VM에서 컨테이너를 실행하고 있습니다. 내 컨테이너는 디스크가 꽉 찰 때까지 기본적으로 /var/lib/docker/containers/CONTAINER_ID/CONTAINER_ID-json.log 파일에 로그를 작성합니다.
현재 디스크가 가득 차지 않도록이 파일을 수동으로 삭제해야합니다. Docker 1.8에는 로그 를 회전 하는 매개 변수가 있다는 것을 읽었습니다 . 현재 해결 방법으로 무엇을 권장 하시겠습니까?
Docker 1.8은 로그 회전 옵션과 함께 릴리스되었습니다. 첨가:
--log-opt max-size=50m
컨테이너가 시작될 때 트릭을 수행합니다. https://docs.docker.com/engine/admin/logging/overview/ 에서 자세히 알아볼 수 있습니다.
주의 : 이것은 docker-compose 버전 2 전용입니다.
예:
version: '2'
services:
db:
container_name: db
image: mysql:5.7
ports:
- 3306:3306
logging:
options:
max-size: 50m
주의 :이 게시물은 1.8 미만의 Docker 버전 ( --log-opt
옵션이 없음)과 관련이 있습니다.
logrotate (압축도 지원)를 사용하지 않는 이유는 무엇입니까?
/var/lib/docker/containers/*/*-json.log {
hourly
rotate 48
compress
dateext
copytruncate
}
CoreOs 노드에서 직접 구성하거나 / var / lib / docker를 마운트 하는 컨테이너 (예 : https://github.com/tutumcloud/logrotate )를 배포 하여 로그를 회전합니다.
컨테이너를 실행하는 동안 로그 옵션을 전달합니다. 예는 다음과 같습니다.
sudo docker run -ti --name visruth-cv-container --log-opt max-size=5m --log-opt max-file=10 ubuntu /bin/bash
여기서는 --log-opt max-size=5m
최대 로그 파일 크기를 5MB로 --log-opt max-file=10
지정하고 회전 할 최대 파일 수를 지정합니다.
참고 URL : https://stackoverflow.com/questions/31829587/docker-container-logs-taking-all-my-disk-space
'Nice programing' 카테고리의 다른 글
~ 2,000 만 개의 샘플 포인트와 기가 바이트의 데이터가 포함 된 대화 형 대형 플롯 (0) | 2020.11.27 |
---|---|
Hibernate 4에서 세션 팩토리 생성 (0) | 2020.11.27 |
ErrorCode = '0x80004005 : 80008083으로 인해 IIS에서 .NET Core 앱을 시작할 수 없음 (0) | 2020.11.27 |
`this-> field` 대신`this-field` 작성에 대해 경고하는 GCC 옵션이 있습니까? (0) | 2020.11.27 |
웹 사이트 스크린 샷을 만드는 명령 줄 프로그램 (Linux) (0) | 2020.11.27 |