Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 8653|Yanıt: 6

Docker logları diskleri doldurur ve veri taşını

[Bağlantıyı kopyala]
Yayınlandı 7.02.2022 10:21:43 | | | |
Meslektaşım, sistemin test ortamına giriş yapamadığını belirtti, izlemeyi kesin bir şekilde kontrol etti ve servis portunun açık olduğunu gördü, sabit disk kullanımını kontrol etmek için sunucuya giriş yaptı ve aşağıdaki şekilde gösterildiği gibi belirli bir diske monte edilen dizinin dolu olduğunu gördü:



Disk, docker uygulamasının kullandığı diskin %100'üdür ve başlangıçta, log dosyaları yazamamanın modülün dış dünyaya hizmet sağlamasını engellediği şüphelenilmektedir.

CentOS her klasör boyutunu sayar ve büyük dosyaları arar.
https://www.itsvse.com/thread-9542-1-1.html
Büyük dosyalar arayın ve sonunda /var/lib/docker/containers/ alt dizininde bulunBelirli bir json.log dosyası 30G kaplıyor

Koşan Konteyner Kütüklerinin Temizlenmesi (Semptom Tedavisi)

Kabın hemen normal servis yapmasını sağlamak için. Geçici çözüm, bu tür dosyaları hızlıca temizleyin, sabit disk alanı boşaltın, betik şu şekildedir:

Docker konteyneri çalışıyorsa, rm -rf ile logları sildikten sonra df -h ile disk alanının boşalmadığını göreceksiniz. Bunun nedeni, Linux veya Unix sistemlerinde, rm -rf veya bir dosya yöneticisi üzerinden bir dosyayı silmek, dosya sisteminin dizin yapısından bağlantısını koparmasıdır. Dosya açılırsa (ve bir işlem kullanılıyorsa), süreç dosyayı okumaya devam eder ve disk alanı sürekli kaplanır. Doğru poz cat /dev/null > *-json.log ve tabii ki docker'ı rm -rf ile kaldırdıktan sonra yeniden başlatabilirsiniz.

Açıklama:Boş diskin dizininde yeni bir betik oluşturun, aksi takdirde script normal şekilde oluşturulamaz


Docker Konteyner Günlük Boyutunun Ayarlanması (Kök Sebep)

Bir konteyner hizmetinin maksimum log boyutunu ayarlayın ve konteyneri başlatırken bir parametre ekleyin, örneğin:

max-size=500m, yani bir konteynerin log boyutunun üst sınırı 500M'dir,
max-file=3, yani bir konteynerin üç logu olduğu anlamına gelir: id+.json, id+1.json ve id+2.json.


Docker yeni bir diske taşındı

Docker ile ilgili veri sistem diskinde mevcut, sistem diski sadece 50G boyutunda ve veri diski 100G boyutunda, mevcut docker verisi veri diskine nasıl taşınır?

CentOS system yum yöntemiyle kurulan docker için varsayılan kurulum dizini: /var/lib/docker olmalı

Docker versiyonu < v17.05.0

Dockerd, parametre grafiği üzerinden imaj ve konteyner depolama yolunu belirleyebildiği için, örneğin –graph=/var/lib/docker, yapılandırma dosyasını sadece başlatma parametrelerini belirtmek için değiştirebiliriz.

Docker'ın yapılandırma dosyası, arka plan işlem parametrelerinin çoğunu ayarlayabilir ve her işletim sistemindeki depolama konumu tutarsızdır; Ubuntu'da: /etc/default/docker ve CentOS'ta: /etc/sysconfig/docker.

Docker version >= v17.05.0

Docker bu sürümde grafik özelliğini resmen kaldırdığı için, eğer makinenizde Docker >= v17.05.0 yüklüyse, /etc/default/docker yapılandırma dosyasında grafik parametresini belirterek Docker'ın varsayılan kurulum (depolama) dizinini değiştiremezsiniz.

Docker'ın yeni sürümünün kurulum (depolama) dizinini değiştirme hedefimize ulaşmasının başka yolları da var: (yeni) /etc/docker/daemon.json ile veri kökü parametresinin değerini belirtmek.

Docker daemon directory configuration:Bağlantı girişi görünür.

Göç hazırlığı: Tüm konteyner uygulamalarını durdur ve docker hizmetlerini durdur (systemctl stop docker).


Docker, konteyner yeniden başlatma ayarlarına ve toplu stop konteynerlerine bakıyor
https://www.itsvse.com/thread-10130-1-1.html
/home/software'de aşağıdaki komutla yeni bir dizin oluşturun:

/var/lib/docker dizinini /home/software/docker dizinine taşıyın (kopyalamanız ve sorun olduğunda /var/lib/docker dizin dosyasını silmeniz önerilir), komut şöyledir:

Kopyalama sırasında-a parametresini eklediğinizden emin olun, aksi takdirde bazı kaplar düzgün çalışmaz!!!!!

Mevcut dizindeki tüm yumuşak bağlantıları ve dosya noktalarını aşağıdaki komutla görüntüleyin:


/etc/docker/daemon.json dosyasını aşağıdaki komutla değiştirin:



Kaydet, ardından docker hizmetini aşağıdaki komutla başlat:

Konteyneri başlatın, testler normal şekilde çalışıyor ve sonunda,/var/lib/docker klasörünü sil



(Son)




Önceki:Linux sisteminin açılma ve kapanma saatlerini kontrol edin
Önümüzdeki:Spring Cloud Gateway'e entegre edilmiş filtre fabrikaları
Yayınlandı 13.02.2022 16:36:29 |
Öğrenmeyi öğrenin。。。。。
 Ev sahibi| Yayınlandı 24.02.2022 09:38:26 |
docker Yok Olmayan Görüntü Nasıl Kaldırılır
https://www.itsvse.com/thread-10112-1-1.html
 Ev sahibi| Yayınlandı 24.02.2022 13:21:48 |
Liste
Açıklama
KONTEYNER ID'si ve İsimKonteynerin kimliği ve adı
CPU % ve MEM %Konteynerin kullandığı ana bilgisayar CPU ve bellek yüzdesi
MEM KULLANIMI / SINIRIKonteynerin kullandığı toplam bellek ve kullanılabilir toplam bellek miktarı
NET Giriş/ÇıkışBir konteynerin ağ arayüzü üzerinden gönderip aldığı veri miktarı
BLOK I/OBir konteynerin ana bilgisayardaki blok cihazından okuyup yazdığı veri miktarı
PID'lerKonteyner tarafından oluşturulan işlem veya iş parçacığı sayısı


 Ev sahibi| Yayınlandı 25.03.2022 14:45:13 |
Karşılık gelen konteyner uygulamasını /var/lib/docker/containers/xxxx/config.v2.json dosyasının Name değerini sorgulaarak bulabilirsiniz.



Yayınlandı 7.12.2022 14:17:31 |
Docker logları diskleri doldurur ve veri taşını
 Ev sahibi| Yayınlandı 17.04.2023 09:59:49 |
Docker, bir konteynerin günlüklerini tek tek aşağıdaki komutla boşaltır:

Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com