Uygulamalar ve altyapı arasında bağımsızlık yaratmak için kapsamlı ve açık kaynaklı bir konteyner platformuna ihtiyacınız varsa, Docker en güvenli bahsinizdir. Kullanma şansınız varsa, kullanımının ne kadar yetenekli ve kolay olduğunu zaten biliyorsunuz.
Çok sayıda bulut ve BT şirketi bunu son derece yararlı buluyor ve popülerliği kesinlikle hak ediyor.
Yine de, bu mükemmel değil. Kanıt, görüntülerin, hacimlerin, konteynerlerin ve ağların kaldırılmasıyla gelen sınırlamalarda görülebilir. Bu komutlar mevcut olsa da, kullanıcıların istediği kadar kapsamlı değildir.
Burada, kullanıcıların karşılaştığı temel sorunları ve bunlara yönelik çözümleri göreceksiniz. Görüntüleri ve kapları nasıl kolayca çıkarabileceğinizi öğreneceksiniz.
Sorun
Konteyner teknolojisi, işletim sistemlerini görselleştirmek için bir yol sağlar. Bir uygulamanın çalıştırılması için gereken her şeyle paketlenmesini sağlar, bu işletim sisteminden bağımsız hareket etmesini sağlar.
Kap görüntüleri, bir uygulamanın düzgün çalışması için gereken her şeyi içeren bağımsız yürütülebilir uygulama paketleridir. Her görüntüde çalışma zamanı, kod, yapılandırmalar ve sistem araçları ve kütüphaneler bulunur.
Docker'ı kullanırken, bu görüntüler birikir. Zaman içinde kalabalık bir Docker ortamı oluşturarak çok sayıda kullanılmayan görüntü, veri hacmi ve kap biriktirilir. Bu olduğunda, ortamın gerektiği gibi çalışması için ortamı yenilemek gerekir.
Bunu gerçekleştirebilecek birden fazla komut var, bu yüzden Docker ortamınızı karmaşıklaştırmanın ana yollarına bir göz atalım.
Docker Görüntülerini Çıkarma
Gereksiz görüntüleri çıkarmadan önce, bunları yararlı olanlardan ayırmanız gerekir. Bu, görüntü yönetim komutunu kullanarak sisteminizin içerdiği tüm görüntüleri listeleyerek kolayca yapılabilir.
İşte göründüğü gibi:
$ docker image #list the most recently created images
Veya
$ docker image -a #list all images
İkinci komutla, tüm liman görüntülerinizi göreceksiniz. Tek yapmanız gereken sözde 'sarkan görüntüleri' bulmak. Bunların hepsi etiket içermeyen Docker görüntüleri. Etiketi olmadan, etiketli resimlerle bağlantısı yoktur, bu da artık yararlı olmadıkları anlamına gelir.
Görüntü Kimliğini kullanarak bir veya daha fazla görüntüyü silebilirsiniz. Bunu yapmak için, aşağıdaki komutlardan birini kullanın:
$ docker rmi d65c4d6a3580 #remove a single image
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images
Daha uygun bir çözüm, tüm sarkan görüntüleri listelemek için -f filtre bayrağını kullanmaktır.
Bu görüntüleri silmek ve disk alanını temizlemek için aşağıdaki komutlardan birini kullanın:
$ docker image prune #interactively remove dangling images
Veya
$ docker rmi $(docker images -q -f dangling=true)
Tüm Docker görüntülerini benzer şekilde kaldırabilirsiniz. $ Docker images –a komutunu kullanarak bunları listeleyin, ardından aşağıdakileri kullanarak kaldırın:
$ (docker rmi $(docker images -a -q)
Başka bir seçenek, belirli bir deseni takip eden görüntüleri silmek. Bunları listelemek için aşağıdaki komutu kullanın:
$ docker images -a | grep "pattern"
Sonra bunları kullanarak kaldırın:
$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
Kapları Çıkarma
Docker ile belirli bir süre çalıştıktan sonra yapmak isteyebileceğiniz başka bir şey de bir veya daha fazla konteyner silmek.
Görüntü kaldırmaya benzer şekilde, önce aşağıdaki komutu kullanarak bunları listelemeniz gerekir:
$ docker ps
Veya
$ docker ps -a
Kaldırılmasını istediğiniz kapları bulduğunuzda, kimliklerini kullanarak yapın.
$ docker rm 0fd99ee0cb61 #remove a single container
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers
Kaldırmaya çalıştığınız kabın çalışması durumunda, durdurmak için aşağıdaki komutu kullanabilirsiniz:
$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
Son olarak, aşağıdaki komutları kullanarak tüm gereksiz kapları durdurabilir ve kaldırabilirsiniz:
$ docker stop $(docker ps -a -q) #stop all containers
$ docker container prune #interactively remove all stopped containers
Veya
$ docker rm $(docker ps -qa)
Bu, değerli disk alanını boşaltmanıza ve yeni baştan başlamanıza olanak sağlar.
Son Söz
Gördüğünüz gibi, Docker görüntülerini ve kaplarını kaldırmak mümkün olduğu kadar zor değil. Artık bu komutları bildiğinize göre, Docker deneyiminiz üzerinde daha fazla kontrol sahibi olabilirsiniz.
Tabii ki, bunlar sadece komutlardan bazıları ve çeşitli başka kombinasyonlar kullanabilirsiniz. Yine de, bunlar işi iyi yapacak, onları denemekten çekinmeyiniz.