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 중국어 웹사이트의 기타 관련 기사를 참조하세요!