Docker 실행 컨테이너가 디스크 공간을 해제하지 않습니다.
PHP中文网
PHP中文网 2017-04-24 09:12:58
0
1
1217

안녕하세요 여러분, docker가 디스크를 어떻게 관리하는지 물어보고 싶습니다. 컨테이너에 Jenkins 애플리케이션이 있는데, 잠시 실행한 후 컨테이너의 용량이 매우 커졌습니다. 그런 다음 컨테이너의 일부 대용량 파일을 삭제했는데, df -h가 컨테이너의 가상 파티션인지 아니면 호스트의 디스크인지 확인했습니다. 출시되었는데 디스크 사용량이 여전히 42%(컨테이너), 50%(호스트)인 이유는 무엇인가요? 어떻게 해결하나요?

PHP中文网
PHP中文网

认证0级讲师

모든 응답(1)
大家讲道理

Docker이미지컨테이너에 대한 이해가 필요합니다. 물론 이는 파일 시스템의 관점에서 이해된다.

Docker 이미지는 읽기 전용 파일입니다. 강조하자면 읽기 전용이므로 이미지에 있는 파일을 실제로 삭제할 수는 없습니다. 삭제할 때 컨테이너가 파일을 볼 수 없도록 표시만 하면 됩니다. 따라서 이 파일은 여전히 ​​이미지에 존재하며 디스크 공간을 차지합니다.

Docker 컨테이너는 이미지 기반의 읽기/쓰기 레이어로, 읽고 쓸 수 있습니다. 파일을 읽고 쓸 때 이미지에서 컨테이너의 읽기-쓰기 계층으로 파일이 복사된 다음 원본 파일이 이미지에 남아 있는 동안 복사된 파일을 읽고 씁니다. 또한 이 컨테이너의 읽기-쓰기 레이어도 디스크 공간을 차지합니다.

따라서 이미지와 컨테이너를 삭제해야만 디스크 공간을 확보할 수 있습니다.

이미지 삭제

으아아아

컨테이너 삭제

으아아아

모든 미러 삭제

으아아아

모든 컨테이너 삭제

으아아아

또한 컨테이너의 데이터 볼륨도 디스크 공간을 차지합니다. 다음 명령을 통해 만료된 볼륨을 삭제할 수 있습니다.

으아아아

물론 가장 폭력적인 방법은 Docker가 이미지, 컨테이너, 데이터 볼륨을 저장하는 디렉터리(/var/lib/docker)를 삭제하는 것입니다.

주의해서 사용하세요! ! ! :

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿