Docker'ın görüntülerini nasıl silebilirim?

Aşağıdaki resimlere sahibim:

alex@alexvps:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>              <none>              70c0e19168cf        5 days ago          1.069 GB
<none>              <none>              c2ce80b62174        8 days ago          399.2 MB
<none>              <none>              60afe4036d97        8 days ago          325.1 MB

ve onlardan birini kaldırmaya çalıştığımda şunu alıyorum:

alex@alexvps:~$ sudo docker rmi 60afe4036d97
Error: Conflict, 60afe4036d97 wasn't deleted
2014/01/28 00:54:00 Error: failed to remove one or more images

Onları nasıl kaldırabilirim? Neden böyle bir çatışma var?

Olası neden: Bunun nedeni, bu görüntünün şu anda çalışan bir kapsayıcı tarafından kullanılıyor olması olabilir. Böyle bir durumda, çalışan konteynerleri listeleyebilir, ilgili konteyneri durdurabilir ve ardından imajı kaldırabilirsiniz:

docker ps
docker stop 
docker rm 
docker rmi 

Docker ps ile konteyner bulamıyorsanız, bunu zaten çıkmış olan tüm konteynerleri listelemek ve kaldırmak için kullanabilirsiniz.

docker ps -a | grep 60afe4036d97
docker rm 

Not: Volume-Only` kapsayıcıları kullanmanız durumunda, çıkılan tüm kapsayıcıları bir kerede silmeye dikkat edin. Bunlar Exit durumunda kalır, ancak yararlı veriler içerir.

Yorumlar (5)

Bash'te:

for i in `sudo docker images|grep \|awk '{print $3}'`;do sudo docker rmi $i;done

Bu, "" adındaki tüm görüntüleri kaldıracaktır. Bu resimleri gereksiz buldum.

Yorumlar (2)

Önce bu imajlar üzerinde oluşturulan tüm gereksiz kapsayıcıları durdurmanız / silmeniz gerekir.

Bir göz atın: https://stackoverflow.com/questions/17236796/how-to-remove-old-docker-io-containers.

Bundan sonra @marcell çözümünü kullanın.

Yorumlar (0)