Docker'da cihazda boş alan kalmamasını nasıl düzeltirim?

How Do I Fix Docker No Space Left Device



Depolama sürücülerini başarılı bir şekilde kullanmak için önce Docker'ın görüntüleri nasıl oluşturduğunu ve kaydettiğini ve kapsayıcıların bu görüntüleri nasıl kullandığını anlamalısınız. Performans sorunlarından kaçınırken, uygulamalarınızdan en iyi verileri alma konusunda bilinçli kararlar vermek için bu verileri kullanabilirsiniz. Depolama sürücüleri, kapsayıcınızın yazılabilir katmanına veri yazmanıza olanak tanır. Kapsayıcı yok edildikten sonra dosyalar kaydedilmez ve okuma ve yazma hızları, yerel dosya uygulaması performansından daha yavaştır. Docker görüntüsünü indirmek ve çalıştırmak için sisteminizin sabit sürücüsünü temizlemek isteyebilirsiniz. Ancak, sabit sürücünüzde yeterli alan yoksa şu hatayı alabilirsiniz: cihazda yer kalmadı. Sunucunuz çöp dosyalarla tıkandığında, PC'nin yavaşlamasına etki edebilir. Düzeltmek için belirli bir miktarda alanı geri almanız gerekecek. Dot bulut kapsayıcı motoru, depolamayı temizlemek için nispeten basit komut dizisi gerektirir. Bu sorun genellikle Docker'da yer kalmadığını gösterir. /var/lib/docker, verilerini depoladığı yerdir. Bu dizin, hangi dosya sisteminde kurulu olursa olsun yeterli boş alana sahip olmalıdır. Bu öğreticide, Docker'da cihazda boş alan kalmamasını düzeltmenin farklı yöntemlerini öğreneceksiniz.

Ön koşullar

Docker'ı cihazda boşluk bırakmamak için Ubuntu 20.04 Linux sistemini ve içindeki docker kurulumunu kullanmanız gerekir. Docker kurulu değilse, terminalde aşağıda listelenen komut yardımı ile yapabilirsiniz.







$sudouygunYüklemekdocker.io

Docker'ı düzeltme yöntemi, cihazda boş alan kalmadı

sudo kullanıcısı ile oturum açmanız ve işletim sisteminizin uygulama alanında kontrol ederek veya Ctrl+Alt+T kısayol tuşunu kullanarak komut satırı terminalini açmanız gerekir. Açıldıktan sonra, bu makalede açıklanan tüm bu yöntemleri izleyin.



Yöntem 1: Docker Sistemi Prune

'Docker system prune komutu, görüntüler, kapsayıcılar, birimler ve ağlar dahil kullanılmayan nesneleri veya verileri ortadan kaldırmak veya silmek için kullanılıyor. Bu nesneler, biz onları bilinçli olarak kaldırmadıkça silinmezler; öyle olsa bile, docker 17.06.1 veya daha yüksek sürümlerde, hacimleri kaldırmak için '–volumes' olanağına ihtiyaç duymalıyız. Hem sarkan hem de referanssız görüntüleri ortadan kaldırır; ancak, yalnızca varsayılan olarak sarkan resimler kaldırılır. 'Liman işçisi sistemi prune' yalnızca 1.25 veya daha yüksek bir istemci ve arka plan programı API sürümüyle kullanılabilir. Şimdi listelenen komutu yürütün:



$sudoliman işçisi sistemikuru erik





Başarılı bir şekilde yürütülmesi için sudo kullanıcı şifrenizi sağlamanız gerekir. Çalıştırıldığında, ekteki resimde gösterildiği gibi aşağıdaki uyarıyı alacaksınız. İşleme devam etmek için y girmeniz gerekir. Docker system prune komutunu uyguladığımızda, ana bilgisayarda kullanılmayan tüm öğeleri arayan ve bunları sistemden silen Docker arka plan programına bir API isteği gönderir. Docker'ın önceki sürümleri, birimler dahil tüm nesneleri kaldırdığından, '–volumes' seçeneği eklendi.

Yöntem 2: Sarkan Resimleri Kaldırma

Bunu gerçekleştirmek için Docker'daki volume komutu kullanılabilir. Bu, /var/lib/docker/volumes içindeki bir birim olmayan herhangi bir dizini veya klasörü sildiği için, oraya hiçbir önemli belgenin kaydedilmediğinden emin olmalısınız. Bir Docker görüntüsü oluştururken, genellikle çok sayıda görüntü katmanı vardır. Herhangi bir etiketli resme referansı olmayan katmanlara sarkan resimler denir. Sarkan görüntüler depolama alanında yer kaplar ancak hiçbir şey yapmaz. Tüm birimlerin listesini görüntülemek için şu komutu kullanın:



$sudoliman işçisi hacmils

Tüm sarkan birimlerin bir listesini almak için aşağıdaki komutu kullanın:

$sudoliman işçisi hacmils-qfsarkan=NS

Başarılı bir şekilde yürütülmesi için sudo kullanıcı şifrenizi sağlamanız gerekir.

Yöntem 3: Artık Birimleri Kaldırma

Başlamak için, Docker'da kalan tüm birimleri silmeniz gerekir. Artık tüm yetim birimlerden kurtulmak için aşağıdaki komutu yürütün:

$liman işçisi hacmirm

Çözüm:

Bu kılavuzda, Docker'da aygıtta boşluk kalmadı hatasını ortadan kaldırmak için birkaç yöntemden bahsettik. Şimdi, bu öğreticiyi izleyerek sonunda bunu kolayca halledebileceğinize inanıyorum.