Anonim

앱과 인프라 간의 독립성을 만들기 위해 포괄적 인 오픈 소스 컨테이너 플랫폼이 필요한 경우 Docker가 가장 안전한 방법입니다. 당신이 그것을 사용할 기회가 있었다면, 당신은 이미 얼마나 유능하고 사용하기 쉬운 지 알고 있습니다

많은 클라우드 및 IT 회사가이 솔루션을 매우 유용하게 사용하고 있으며 그 인기는 확실합니다.

그럼에도 불구하고 이것이 완벽하지는 않습니다. 증거는 이미지, 볼륨, 컨테이너 및 네트워크 제거와 함께 제공되는 제한 사항에서 볼 수 있습니다. 이러한 명령을 사용할 수 있지만 사용자가 원하는만큼 포괄적이지 않습니다.

여기에는 사용자가 겪는 주요 문제와 해결 방법이 나와 있습니다. 이미지와 컨테이너를 쉽게 제거하는 방법을 배웁니다.

문제

컨테이너 기술은 운영 체제를 시각화하는 방법을 제공합니다. 앱을 실행하는 데 필요한 모든 패키지를 제공하므로 OS와 독립적으로 작동 할 수 있습니다.

컨테이너 이미지는 앱이 제대로 작동하는 데 필요한 모든 것을 포함하는 독립적 인 실행 가능 앱 패키지입니다. 런타임, 코드, 구성 및 시스템 도구 및 라이브러리가 각 이미지에 포함되어 있습니다.

Docker를 사용하면 이러한 이미지가 누적됩니다. 시간이 지남에 따라 많은 미사용 이미지, 데이터 볼륨 및 컨테이너가 누적되어 복잡한 Docker 환경이 만들어집니다. 이 경우 플랫폼이 정상적으로 작동하도록 환경을 새로 고쳐야합니다.

이를 수행 할 수있는 여러 명령이 있으므로 Docker 환경을 정리하는 주요 방법을 살펴 보겠습니다.

도커 이미지 제거

불필요한 이미지를 제거하기 전에 유용한 이미지와 구별해야합니다. 이미지 관리 명령을 사용하여 시스템에 포함 된 모든 이미지를 나열하여 쉽게 수행 할 수 있습니다.

그 모습은 다음과 같습니다.

$ docker image #list the most recently created images

또는

$ docker image -a #list all images

두 번째 명령으로 모든 도커 이미지를 볼 수 있습니다. 소위 '매달린 이미지'를 찾기 만하면됩니다. 이들은 모두 태그가 포함되지 않은 Docker 이미지입니다. 태그가 없으면 태그가 지정된 이미지와 연결되어 있지 않으므로 더 이상 유용하지 않습니다.

이미지 ID를 사용하여 하나 이상의 이미지를 삭제할 수 있습니다. 이렇게하려면 다음 명령 중 하나를 사용하십시오.

$ docker rmi d65c4d6a3580 #remove a single image

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images

보다 편리한 해결책은 -f 필터 플래그를 사용하여 매달린 이미지를 모두 나열하는 것입니다.

이러한 이미지를 삭제하고 디스크 공간을 정리하려면 다음 명령 중 하나를 사용하십시오.

$ docker image prune #interactively remove dangling images

또는

$ docker rmi $(docker images -q -f dangling=true)

비슷한 방식으로 모든 Docker 이미지를 제거 할 수 있습니다. $ docker images –a 명령을 사용하여 나열한 후 다음을 사용하여 제거하십시오.

$ (docker rmi $(docker images -a -q)

다른 옵션은 특정 패턴을 따르는 이미지를 삭제하는 것입니다. 그것들을 나열하려면 다음 명령을 사용하십시오.

$ docker images -a | grep "pattern"

그런 다음 다음을 사용하여 제거하십시오.

$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

컨테이너 제거

일정 시간 동안 Docker로 작업 한 후 수행 할 수있는 또 다른 작업은 하나 이상의 컨테이너를 삭제하는 것입니다.

이미지 제거와 마찬가지로 먼저 다음 명령을 사용하여 이미지를 나열해야합니다.

$ docker ps

또는

$ docker ps -a

제거하려는 컨테이너를 찾으면 해당 ID를 사용하여 제거하십시오.

$ docker rm 0fd99ee0cb61 #remove a single container

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers

제거하려는 컨테이너가 실행중인 경우 다음 명령을 사용하여 컨테이너를 중지 할 수 있습니다.

$ docker stop 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

마지막으로 다음 명령을 사용하여 불필요한 모든 컨테이너를 중지하고 제거 할 수 있습니다.

$ docker stop $(docker ps -a -q) #stop all containers

$ docker container prune #interactively remove all stopped containers

또는

$ docker rm $(docker ps -qa)

이를 통해 귀중한 디스크 공간을 확보하고 새로 시작할 수 있습니다.

마지막 말씀

보시다시피 Docker 이미지와 컨테이너를 제거하는 것이 어려울 수는 없습니다. 이제 이러한 명령을 알고 있으므로 Docker 환경을 더 잘 제어 할 수 있습니다.

물론 이러한 명령은 일부 명령 일 뿐이며 다양한 다른 조합을 사용할 수 있습니다. 그럼에도 불구하고 이것들은 잘 작동 할 것이므로 자유롭게 사용해보십시오.

도커 이미지를 모두 삭제하는 방법