Docker günümüzde kuruluşlarda en popüler ürünlerden biridir. Konteynerlerdeki uygulamaları yönetme sürecini oldukça kolaylaştırır. Docker, konteynerleri kullandığı için uygulamalara taşınabilirlik, performans, çeviklik, ölçeklenebilirlik ve yalıtım sağlar. Konteynerler, sanal makinelere göre daha taşınabilirdir ve daha az kaynak gerektirir. Docker ile çalıştıkça, aşırı miktarda kullanılmayan imaj, birim ve konteyner biriktirme eğiliminde olursunuz. Bu kaynaklar çıktıyı karıştıracak ve çok fazla disk alanı tüketecektir. Bu eğitimde, Docker kaynaklarını nasıl temizleyeceğinizi ve sunucunuzu nasıl düzenleyeceğinizi öğreneceksiniz.
Tümünü temizle
İmajlar, durdurulmuş konteynerler, birimler ve ağlar dahil tüm Docker kaynaklarını tek bir komutla temizleyebilirsiniz. Aşağıdaki seçeneklerden birini seçebilirsiniz:
Referans: Askıda kalan kaynaklar, çalışan herhangi bir konteynerle ilişkili olmayanlardır.
Seçenek 1:
|
1 |
docker system prune |
– tüm durdurulmuş konteynerleri
– en az bir konteyner tarafından kullanılmayan tüm ağları
– tüm askıda kalan imajları
– tüm askıda kalan derleme önbelleklerini
Seçenek 2:
|
1 |
docker system prune -a |
– tüm durdurulmuş konteynerleri
– en az bir konteyner tarafından kullanılmayan tüm ağları
– kendileriyle ilişkili en az bir konteyner bulunmayan tüm imajları
– tüm derleme önbelleklerini
Seçenek 3:
|
1 |
docker system prune -a --volumes |
– tüm durdurulmuş konteynerleri
– en az bir konteyner tarafından kullanılmayan tüm ağları
– en az bir konteyner tarafından kullanılmayan tüm birimleri
– kendileriyle ilişkili en az bir konteyner bulunmayan tüm imajları
– tüm derleme önbelleklerini

Docker İmajlarını Kaldırma
Belirli bir imajı kaldırmak için imaj kimliğini (ID) bilmeniz gerekir. Bir Docker konteynerinin imaj kimliğini, “docker images” komutunu kullanarak bulabilirsiniz; bu durum şu eğitimimizde açıklanmıştır: Ubuntu üzerinde Docker nasıl kurulur & çalıştırılır.
İmajları listeleme:
|
1 |
docker images |
İmajı kaldırma:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
docker rmi <İmaj ID> Örnek: docker rmi 1d622ef86b13 Çıktı: Untagged: ubuntu:latest Untagged: ubuntu@sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7 Deleted: sha256:1d622ef86b138c7e96d4f797bf5e4baca3249f030c575b9337638594f2b63f01 Deleted: sha256:279e836b58d9996b5715e82a97b024563f2b175e86a53176846684f0717661c3 Deleted: sha256:39865913f677c50ea236b68d81560d8fefe491661ce6e668fd331b4b680b1d47 Deleted: sha256:cac81188485e011e56459f1d9fc9936625a1b62cacdb4fcd3526e5f32e280387 Deleted: sha256:7789f1a3d4e9258fbe5469a8d657deb6aba168d86967063e9b80ac3e1154333f |
Askıda Kalan İmajları Kaldırma:
Bir Docker imajı oluşturduğunuzda, genellikle birkaç imaj katmanına sahip olur. Askıda kalan imajlar, etiketlenmiş herhangi bir imajla ilişkisi olmayan katmanlardır. Askıda kalan imajlar disk alanı tüketir ancak hiçbir amaca hizmet etmezler. Şu komut kullanılarak listelenebilirler:
|
1 |
docker images -f dangling=true |
Şu komutu çalıştırarak bu imajları kaldırabilirsiniz:
|
1 |
docker image prune |
Belirli bir desene göre imajları kaldırma
“grep” komutunu kullanarak belirli bir desene dayalı imajları kolayca bulabilir ve ardından “awk” kullanarak bunu “docker rmi” komutuna geçirerek kaldırabilirsiniz. Aşağıdaki komutları kullanabilir ve her birindeki “pattern” ifadesini değiştirebilirsiniz:
Listeleme:
|
1 |
docker images -a | grep "pattern" |
Kaldırma:
|
1 |
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi |
Tüm imajları kaldır
Şu komutu kullanarak tüm docker imajlarını listeleyebilirsiniz:
|
1 |
docker images -a |
Hepsini kaldırmaya karar verdiğinizde, tümünü silmek için bu komutu kullanabilirsiniz:
|
1 |
docker images -a -q | xargs docker rmi |
Konteynerleri Kaldırma:
Gereksiz tüm imajları temizlediğinize göre, artık gerekli olmayan bazı konteynerleri silme zamanı geldi.
Konteynerleri listelemek için şu komutu kullanabilirsiniz:
|
1 |
docker ps -a |
Konteynerleri kaldırmak için şu komutu kullanın:
|
1 |
docker rm <<Konteyner Adı/Konteyner ID>> |
Konteynerleri Geçici Olarak Çalıştırma
Konteyneri yalnızca bir kez çalıştırmak istiyorsanız, çıkış yaptığında konteynerin otomatik olarak silinmesini seçebilirsiniz. Bunu şu komutu kullanarak yapabilirsiniz:
|
1 |
docker run --rm <<İmajAdı>> |
Çıkış yapılmış konteynerleri kaldırma
Çıkış yapılmış konteynerleri “-f” argümanını kullanarak filtreleyebilirsiniz. Şu komutu kullanarak çıkış yapmış konteynerleri listeleyin:
|
1 |
docker ps -a -f status=exited |
Onları filtrelediğinize göre, bu komutu kullanarak kaldırın:
|
1 |
docker rm $(docker ps -a -f status=exited -q) |
Belirli bir şablona göre konteynerleri kaldırma
Belirli bir şablona dayalı konteynerleri “grep” komutunu kullanarak kolayca bulabilir ve ardından “awk” kullanarak “docker rm” komutuna geçirerek kaldırabilirsiniz. Aşağıdaki komutları kullanabilir ve her birindeki “pattern” (şablon) kısmını değiştirebilirsiniz.
Listele:
|
1 |
docker ps -a | grep "pattern" |
Kaldır:
|
1 |
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm |
Tüm Konteynerleri Durdurma ve Kaldırma
Bunu yapmadan önce, sunucunuzdaki tüm konteynerleri listeleyerek gözden geçirin. Yalnızca onları silmek istediğinizden emin olduğunuzda aşağıdaki komutları çalıştırın:
Gözden geçirmek için konteynerleri listeleyin:
|
1 |
docker ps -a |
Durdur ve Kaldır:
|
1 2 |
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) |
Birimleri (Volumes) Kaldırma
Belirli bir birimi kaldırma
Belirli bir birimi kaldırmak için birim adını bilmeniz gerekir. Bunu öğrenmek için birimleri listeleyebilirsiniz.
Listele:
|
1 |
docker volume ls |
Kaldır:
|
1 |
docker volume rm <<BirimAdı>> |
Bağımsız (Dangling) Birimleri Kaldırma
Bir konteyneri kaldırdığınızda, ona bağlı olan birim otomatik olarak kaldırılmaz. Bu tür birimlere bağımsız (dangling) birim denir. Bu tür birimleri bulmak için komuttaki filtre argümanını kullanın:
|
1 |
docker volume ls -f dangling=true |
Tüm bu bağımsız birimleri kaldırmak için şu komutu kullanın:
|
1 |
docker volume prune |
Bir konteyneri ve isimsiz birimini kaldırma
Konteyneri çalıştırırken anonim veya isimsiz bir birim oluşturduysanız, tek bir komut kullanarak bunu konteynerle birlikte kaldırabilirsiniz. Ancak, birim adlandırılmışsa yalnızca konteyner silir.
|
1 |
docker rm -v <<KonteynerAdı>> |
Artık bu pratik bilgi kartına (cheat sheet) sahip olduğunuza göre, sunucunuzda gerekli olmayan Docker kaynaklarını temizlemeye hazır olmalısınız.
Keyifli Çalışmalar!


Yorumlar
Henüz yorum yapılmamış. İlk siz olun.