>운영 및 유지보수 >Docker >도커 로그를 지우는 방법

도커 로그를 지우는 방법

王林
王林원래의
2020-05-21 10:39:305083검색

도커 로그를 지우는 방법

1. Docker 컨테이너 로그 찾기

Linux에서 컨테이너 로그는 일반적으로 /var/lib/docker/containers/container_id/에 저장됩니다. json.log(비즈니스 로그)로 끝나는 파일은 매우 큽니다. 각 로그 파일의 크기를 보기 위한 docker_log_size.sh 스크립트에는 다음 내용이 있습니다.

#!/bin/sh
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
	ls -lh $log
done

다음 명령을 실행합니다.

# chmod +x docker_log_size.sh
# ./docker_log_size.sh

2 Docker 컨테이너 로그를 정리합니다.

Docker 컨테이너가 실행 중이면 rm을 사용합니다. -rf는 로그를 삭제하고 통과합니다. df -h 명령은 디스크 공간이 해제되지 않았음을 확인합니다.

이유는 Linux나 Unix 시스템에서 rm -rf나 파일 관리자를 통해 파일을 삭제하면 파일 시스템의 디렉터리 구조에서 링크가 해제(unlink)되기 때문입니다. 파일이 열려 있으면(프로세스에서 사용 중) 프로세스는 계속해서 파일을 읽을 수 있으며 디스크 공간은 계속 점유됩니다.

올바른 방법은 cat /dev/null > *-json.log입니다. 물론 rm -rf를 통해 삭제하고 docker를 다시 시작할 수도 있습니다. 다음으로, 다음 내용으로 로그 정리 스크립트 clean_docker_log.sh를 제공합니다.

#!/bin/sh
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
	echo "clean logs : $log"
	cat /dev/null > $log
done
echo "======== end clean docker containers logs ========

그런 다음 다음 명령을 실행합니다.

# chmod +x clean_docker_log.sh
# ./clean_docker_log.sh

권장 튜토리얼: docker tutorial

위 내용은 도커 로그를 지우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.