블로그로 돌아가기

Docker 리소스 정리 – 이미지, 컨테이너, 볼륨

Docker 리소스 정리 – 이미지, 컨테이너, 볼륨

Docker는 요즘 기업에서 가장 인기 있는 제품 중 하나입니다. 컨테이너에서 애플리케이션을 관리하는 프로세스를 매우 쉽게 만들어 줍니다. Docker는 컨테이너를 사용하기 때문에 애플리케이션에 이식성, 성능, 민첩성, 확장성 및 격리성을 제공합니다. 컨테이너는 가상 머신보다 이식성이 더 뛰어나고 리소스를 덜 소모합니다. Docker를 사용하다 보면 사용하지 않는 이미지, 볼륨, 컨테이너가 과도하게 쌓이기 마련입니다. 이러한 리소스는 출력을 복잡하게 만들고 많은 디스크 공간을 차지합니다. 이 튜토리얼에서는 Docker 리소스를 정리하고 서버를 정돈하는 방법을 배웁니다.

모두 정리하기

단일 명령어로 이미지, 중지된 컨테이너, 볼륨, 네트워크를 포함한 모든 Docker 리소스를 정리할 수 있습니다. 아래 옵션 중 하나를 선택할 수 있습니다:

참고: Dangling 리소스는 실행 중인 어떤 컨테이너와도 관련이 없는 리소스입니다.

옵션 1:
다음 항목이 삭제됩니다:
– 중지된 모든 컨테이너
– 최소 하나 이상의 컨테이너에서 사용되지 않는 모든 네트워크
– 모든 dangling 이미지
– 모든 dangling 빌드 캐시

옵션 2:
다음 항목이 삭제됩니다:
– 중지된 모든 컨테이너
– 최소 하나 이상의 컨테이너에서 사용되지 않는 모든 네트워크
– 연결된 컨테이너가 최소 하나도 없는 모든 이미지
– 모든 빌드 캐시

옵션 3:
다음 항목이 삭제됩니다:
– 중지된 모든 컨테이너
– 최소 하나 이상의 컨테이너에서 사용되지 않는 모든 네트워크
– 최소 하나 이상의 컨테이너에서 사용되지 않는 모든 볼륨
– 연결된 컨테이너가 최소 하나도 없는 모든 이미지
– 모든 빌드 캐시

docker prune options

Docker 이미지 삭제하기

특정 이미지를 삭제하려면 해당 이미지 ID를 알아야 합니다. 다음 튜토리얼에서 설명한 대로 “docker images” 명령어를 사용하여 Docker 컨테이너의 이미지 ID를 찾을 수 있습니다: Ubuntu에서 Docker를 설치 & 운영하는 방법.

이미지 목록 조회:
이미지 삭제:
docker rmi

Dangling 이미지 삭제하기:

Docker 이미지를 빌드할 때 일반적으로 여러 레이어의 이미지가 생성됩니다. Dangling 이미지는 태그가 지정된 어떤 이미지와도 관계가 없는 레이어입니다. Dangling 이미지는 디스크 공간을 차지하지만 아무런 용도가 없습니다. 다음 명령어를 사용하여 목록을 확인할 수 있습니다:

다음 명령어를 실행하여 이러한 이미지를 삭제할 수 있습니다:

패턴 기준 이미지 삭제하기

“grep” 명령어를 사용하여 특정 패턴을 기반으로 이미지를 쉽게 찾은 다음, “awk”를 사용하여 “docker rmi” 명령어에 전달하여 삭제할 수 있습니다. 다음 명령어를 사용하고 각 명령어에서 “pattern”을 변경하여 사용할 수 있습니다:

목록 조회:
삭제:
모든 이미지 삭제

다음 명령어를 사용하여 모든 Docker 이미지를 나열할 수 있습니다:

모두 삭제하기로 결정했다면, 다음 명령어를 사용하여 모두 삭제할 수 있습니다:

 

컨테이너 삭제:

불필요한 이미지를 모두 정리했으므로, 이제 필요하지 않은 일부 컨테이너를 삭제할 차례입니다.

컨테이너를 나열하려면 다음 명령어를 사용할 수 있습니다:

컨테이너를 삭제하려면 다음 명령어를 사용하세요:

docker rm container
임시로 컨테이너 실행하기

컨테이너를 한 번만 실행하려는 경우, 컨테이너가 종료될 때 자동으로 삭제되도록 선택할 수 있습니다. 다음 명령어를 사용하여 이 작업을 수행할 수 있습니다:

종료된 컨테이너 삭제

“-f” 인수를 사용하여 종료된 컨테이너를 필터링할 수 있습니다. 다음 명령어를 사용하여 종료된 컨테이너를 나열합니다:

필터링을 완료했다면, 다음 명령어를 사용하여 삭제하세요:

패턴 기준 컨테이너 삭제

“grep” 명령어를 사용하여 특정 패턴을 기반으로 컨테이너를 쉽게 찾은 다음, “awk”를 사용하여 “docker rm” 명령어에 전달하여 삭제할 수 있습니다. 다음 명령어를 사용하고 각각의 “pattern”을 원하는 패턴으로 바꾸십시오.

목록:
삭제:
모든 컨테이너 중지 및 삭제

그렇게 하기 전에, 서버의 모든 컨테이너를 나열하여 검토하십시오. 정말로 삭제하려는 것이 확실한 경우에만 다음 명령어를 실행하십시오:

검토할 컨테이너 목록 나열:

중지 및 삭제:

볼륨 삭제

특정 볼륨 삭제

특정 볼륨을 삭제하려면 볼륨 이름을 알아야 합니다. 이를 확인하려면 볼륨 목록을 나열하면 됩니다.

목록:
삭제:
docker volume rm
대글링 볼륨 삭제

컨테이너를 삭제할 때 컨테이너에 연결된 볼륨은 자동으로 삭제되지 않습니다. 이러한 볼륨을 대글링(dangling) 볼륨이라고 합니다. 이러한 볼륨을 찾으려면 명령어에서 필터 인수를 사용하십시오:

이러한 대글링 볼륨을 모두 삭제하려면 다음 명령어를 사용하십시오:

 

컨테이너 및 이름 없는 볼륨 삭제

컨테이너를 실행하는 동안 익명 또는 이름 없는 볼륨을 생성한 경우, 단일 명령어를 사용하여 컨테이너와 함께 삭제할 수 있습니다. 그러나 볼륨에 이름이 지정되어 있으면 컨테이너만 삭제됩니다.

 

이제 이 치트 시트를 얻었으니, 서버에서 필요하지 않은 Docker 리소스를 정리할 준비가 되었을 것입니다.

즐거운 컴퓨팅 되세요!

author

Akshay Nagpal

작성자 · CloudSigma

Preslav Dobrev는 CloudSigma의 크리에이티브 디자이너로서, 전통적이고 혁신적인 마케팅 채널을 활용하여 일관된 비즈니스 정체성을 구축하는 데 중점을 두고 있습니다. 그는 영향력 있는 브랜드 내러티브를 창출하기 위해 예술적 비전과 전략적 마케팅을 결합하는 데 능숙합니다.

댓글

아직 댓글이 없습니다. 첫 번째로 작성해 보세요.