매달려있는 이미지 란 무엇이며 사용되지 않은 이미지는 무엇입니까?
docker image prune 의 docker documentation 에서 -a 플래그를 사용하여
매달린 이미지뿐만 아니라 사용되지 않은 이미지를 모두 제거하십시오.
그리고 나중에
매달려있는 이미지를 모두 제거하십시오. -a를 지정하면 컨테이너가 참조하지 않는 모든 이미지도 제거됩니다.
매달린 이미지가 무엇인지, 매달린 이미지와 사용하지 않은 이미지의 차이점이 무엇인지 설명해 줄 수 있습니까?
사용하지 않은 이미지는 이미지가 컨테이너에서 할당되거나 사용되지 않았 음을 의미합니다. 예를 들어, 실행 중이 docker ps -a
면 종료되고 현재 실행중인 모든 컨테이너가 나열됩니다. 컨테이너 내부에서 사용되는 것으로 표시된 모든 이미지는 "사용 된 이미지"입니다.
반면에 매달려있는 이미지는 이미지의 새 빌드를 만들었으나 새 이름이 지정되지 않았 음을 의미합니다. 따라서 이전 이미지는 "매달린 이미지"가됩니다. 이 오래된 이미지는 태그가 지정되지 않은 이미지이며 <none>
실행시 이름에 " " 가 표시됩니다 docker images
.
를 실행하면 docker system prune -a
사용하지 않는 이미지와 매달려있는 이미지가 모두 제거됩니다. 따라서 컨테이너에서 사용중인 이미지는 종료되었거나 현재 실행중인 이미지에 영향을 미치지 않습니다.
매달려있는 이미지를 정리하는 가장 안전하고 쉬운 방법
docker images --quiet --filter=dangling=true | xargs --no-run-if-empty docker rmi
도커 이미지는 여러 레이어로 구성됩니다. 매달려있는 이미지는 태그가 지정된 이미지와 관련이없는 레이어입니다. 더 이상 목적을 제공하지 않으며 디스크 공간을 소비합니다.
참고 :
prune
프로덕션에서 사용하지 않는 것이 좋습니다docker system prune -a
. 컨테이너에서 참조하지 않는 모든 이미지가 제거 되므로 이전 릴리스로 되돌릴 수 없습니다.
필터 플래그를 추가함으로써 화상 매달려 나열 -f
값으로 dangling=true
받는 docker images
.
매달려있는 이미지 목록
docker images -f dangling=true
매달려있는 이미지 제거
docker rmi $(docker images -f dangling=true -q)
또는
docker images --quiet --filter=dangling=true | xargs --no-run-if-empty docker rmi
매달려있는 항목을 삭제하기 위해 cron 작업을 실행할 때 위의 작업을 사용하여 작업이 성공적으로 실행되도록하십시오. Jenkins와 마찬가지로 belowow commad 작업으로 자유 스타일 작업을 실행하면 컴퓨터에 매달려있는 물건이 없어도 절대 실패하지 않습니다.
이것은 매달린 이미지를 정리하고 사용하기 위해 디스크 공간을 다시 확보하는 가장 안전하고 쉬운 방법입니다.
docker의 이미지는 sha256 다이제스트에 의해 참조되며 종종 이미지 ID라고합니다. 이 다이제스트는 이미지가 docker 호스트에 존재하는 데 필요한 전부입니다. 일반적으로 이러한 다이제스트를 가리키는 태그가 있습니다. 예를 들어 busybox : latest current는 내 시스템의 이미지 ID c30178c523 ...을 가리 킵니다. 여러 개의 태그가 동일한 이미지를 가리킬 수 있으며, 예를 들어 busybox : latest의 새 사본을 가져 오거나 새 버전의 애플리케이션 이미지를 빌드 할 때와 같이 다른 ID를 가리 키도록 태그를 변경할 수 있습니다.
매달려있는 이미지는 태그가없고 이미지를 FROM busybox:latest
가리키는 하위 이미지 (예 : 다른 버전의을 사용한 이전 이미지)가없는 이미지입니다 . 이전에 태그를 가리키고 나중에 태그가 변경되었을 수 있습니다. 또는 태그가 없었을 수도 있습니다 (예 : docker build
태그 옵션을 포함하지 않은 출력 ). 이전 이미지 ID를 참조하는 컨테이너가 아직 실행되지 않는 한 일반적으로 제거하는 것이 안전합니다. 이를 유지하는 주된 이유는 빌드 캐싱 목적입니다.
또한 컨테이너 (중지 된 컨테이너 포함)에서 현재 사용하지 않는 이미지를 다운로드했을 수 있습니다. 이 이미지는 매달려있는 이미지와는 완전히 다르므로 나중에 사용할 계획이 없거나 필요할 때 다른 사본을 다운로드하지 않아도되는 경우 제거해도 안전 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/45142528/what-is-a-dangling-image-and-what-is-an-unused-image
'programing tip' 카테고리의 다른 글
TFS 특정 버전을 별도의 폴더로 가져 오기 (0) | 2020.08.04 |
---|---|
sbt와 Gradle 비교 (0) | 2020.08.04 |
HTML5 캔버스에 SVG 파일 그리기 (0) | 2020.08.04 |
Visual Studio에서 제로 참조 코드 목록 가져 오기 (0) | 2020.08.04 |
파이썬에서 반복자를 재설정 할 수 있습니까? (0) | 2020.08.04 |