Bulut Sunucuları ve VPS'ler için Eksiksiz Docker Temizleme Kılavuzu
Bu kapsamlı makalede, Docker konteynerlerini, imajlarını ve birimlerini güvenli ve etkili bir şekilde nasıl temizleyeceğinizi öğrenin. Bu kılavuz, pratik ipuçları ve güvenlik yönergeleri içermektedir.

Bulut Sunucuları ve VPS'ler için Eksiksiz Docker Temizleme Kılavuzu

Bu makale, Docker temizleme yöntemlerini adım adım açıklamakta ve önemli güvenlik ipuçları ile en iyi uygulamaları içermektedir.
0 Hisse senetleri
0
0
0
0

 

Bulut sunucuları ve VPS'ler için Docker temizliği neden kritik öneme sahiptir?

Düzenli Docker temizliği şunları sağlar: Kök (/) bölümünün dolmasını engelleyin., CI/CD ve Koşucu performansını iyileştirme Ve Azaltılmış kırılganlık Bulut sunucularında depolama maliyetleri ve IOPS artabilir, bu nedenle disk alanını boşaltmak önemli olabilir. Maliyet tasarrufu Ve yönetmesi kolay.

 

Konteynerleri, görselleri ve dosyaları temizlemenin genel ve güvenli bir yolu.

Aşağıda, güvenlik ve yedeklemelere vurgu yapılarak adım adım talimatlar verilmiştir. Üretim ortamında herhangi bir işlem yapmadan önce mutlaka yedekleme yapın ve bakım planlaması gerçekleştirin.

 

Temizliğin ana adımları

1. Mevcut durumu gözden geçirin.

Öncelikle, daha güvenli kararlar verebilmek için Docker konteynerlerinin, imajlarının, disk birimlerinin ve disk kullanımının durumunu kontrol edin.

docker ps
docker ps -a
docker images -a
docker system df
docker volume ls

2. Yedekleme (birimleri silmeden önce gereklidir)

Eğer disk birimleri önemli veriler içeriyorsa, bunların yedeklerini aldığınızdan veya sağlayıcının panelindeki Blok Depolama anlık görüntülerini kullandığınızdan emin olun.

docker run --rm -v my_volume:/data -v $(pwd):/backup alpine tar czf /backup/my_volume_backup.tar.gz -C /data .

3. Silmeden önce konteynerleri durdurma

Konteynerleri güvenli bir şekilde durdurun; gerekirse zorla çıkarma yöntemini dikkatli bir şekilde kullanın.

docker stop <container_id>
docker rm -f <container_id>

4. Konteynerleri silin

Tek tek konteynerleri veya durdurulmuş tüm konteynerleri silebilirsiniz.

docker rm <container_id>
docker container prune
# یا:
docker rm $(docker ps -a -q)

5. Resimleri silin

Kullanılmamış resimler veya sallanan Sil. Gerekirse zorla sil, ancak bağımlılıklara dikkat et.

docker rmi <image_id_or_tag>
docker rmi $(docker images -a -q)
docker image prune

6. Birimleri silin

Disk birimlerini silmek kalıcı verileri yok edebilir. Disk birimlerini silmeden önce yedekleme veya anlık görüntü alın.

docker volume rm <volume_name>
docker volume prune
docker system prune --volumes

7. Gereksiz ağları kaldırın

docker network prune

8. Maksimum alan açmak için her şeyi silin.

Mümkün olduğunca fazla alan kazanmanız gerekiyorsa, aşağıdaki komutu kullanın, ancak çok dikkatli olun.

docker system prune -a --volumes

 

Pratik örnekler ve senaryolar

Senaryo 1 — Geliştirme sunucusunda (yerel/test) güvenli temizlik

Docker-compose tarafından oluşturulan tüm kaynakları kaldırmak için aşağıdaki komutu kullanın.

docker-compose down --rmi all -v --remove-orphans

Açıklama: –rmi hepsi Compose tarafından oluşturulan görüntüleri siler. -v Birimleri siler ve --yetimleri kaldır Yetim konteynerleri siler.

Senaryo 2 — GitLab CI çalıştırıcıları ve otomatik temizleme

İşlerin sonunda veya cron aracılığıyla periyodik temizlik yapmak, çalıştırıcıların yeterli alanla çalışabilmesi için en iyisidir.

docker system prune -a --volumes -f
0 3 * * * root /usr/bin/docker system prune -a --volumes -f >/dev/null 2>&1

Senaryo 3 — Ağır görseller içeren GPU/Yapay Zeka sunucusu

Makine öğrenimi (ML) görselleri genellikle büyüktür; yalnızca gerekli sürümleri saklamanız ve modeller için anlık görüntüler (snapshot) kullanmanız önerilir. Ayrıca, Dockerfile'da uygun katmanlama ve önbellek temizleme işlemlerini kullanın.

RUN apt-get update && apt-get install -y ... && rm -rf /var/lib/apt/lists/*

 

Güvenlik ipuçları ve en iyi uygulamalar

İşte riskleri azaltmak ve depolama alanını daha iyi yönetmek için pratik ipuçlarının bir özeti.

  • Bir diski silmeden önce mutlaka yedeğini alın. Veritabanları için mysqldump, pg_dump veya snapshot kullanın.
  • Komutlardan budamak Üretim ortamlarında dikkatli kullanın ve politikalar ile insan onayını tanımlayın.
  • Ciltlerin ve görsellerin isimlendirilmesinde tutarlılığı koruyun (örneğin, proje_ortamı_hizmet_tarihi).
  • Daha iyi yönetim için etiketler kullanın: docker ps -a --filter "label=project=myproject""
  • Dizin /var/lib/docker Yönetimi kolaylaştırmak için ayrı bir birime taşıyabilirsiniz.
  • İzleme, aşağıdaki gibi araçlarla yapılır: cadvisor Ve Prometheus Diskin dolu olması durumunda uyarı ayarlamak da çok önemlidir.
  • Görüntülerin güvenlik taraması, aşağıdaki gibi araçlarla yapılır: Claire, Önemsiz Bilgiler Veya Snyk İşlem tamamlanır ve risk altındaki görüntüler kaldırılır veya güncellenir.

 

Üretim modunda temizlik işlemi çalıştırma — kontrol listesi

Hizmet riskini azaltmak için aşağıdaki kontrol listesi uygulanmalıdır.

  1. Kritik görüntüleri ve hacimleri belirleme
  2. Yedekleme ve anlık görüntü hazırlığı
  3. Ekip bildirimi ve bakım penceresi planlaması
  4. Gerekirse hizmetleri durdurun veya trafiği yönlendirin.
  5. Silme işlemlerini şu sırayla gerçekleştirin: kapsayıcıları durdurup silin, gereksiz imajları silin, birimleri ve ağları silin.
  6. Hizmetleri yeniden başlatın ve günlükleri kontrol edin.
  7. Temizleme sonrası izleme

 

Faydalı araçlar ve komut dosyaları

Aşağıdaki araçlar ve komut dosyaları, temizleme ve güvenlik kontrollerini otomatikleştirmede faydalıdır.

  • docker-gc: Görüntü ve konteynerlerin çöp toplama işlemi için genel araç.
  • önemsiz / clair: Görüntülerin güvenlik taraması için.
  • systemd zamanlayıcısı: Docker system prune komutunu periyodik olarak çalıştırmak için.
  • Bash betiği kullanarak, gerçek çalıştırmadan önce günlük kaydı tutma ve deneme çalıştırma işlemleri gerçekleştirme.
#!/bin/bash
echo "Dry run: will remove the following images:"
docker images -f dangling=true
read -p "Proceed? y/N" ans
if [[ $ans == "y" ]]; then
  docker image prune -f
fi

 

Bulut Altyapısı, VPS ve Kurumsal Hizmetler İçin İpuçları

Dağıtılmış sunucularda, temizleme politikasının tüm düğümlere uygulandığından emin olun. İşleme veya yapay zeka gibi ağır iş yükleri için, Docker'ı kaldırmanın diğer servislerdeki verileri etkilememesi için ayrı bir depolama alanı (NVMe veya Blok Depolama gibi) kullanmak daha iyidir.

Alım satım ve oyun amaçlı kullanılan VPS'lerde, boş disk alanını korumak ve düzenli temizlik yapmak gecikmeyi azaltacak ve konteyner başlatma hızını artıracaktır.

Karmaşık veya büyük bir temizlik işlemine ihtiyacınız varsa, bakım penceresi içinde işlemleri gerçekleştirmek ve bir anlık görüntü hazırlamak için ilgili ekipten yardım isteyin.

 

Sık karşılaşılan hatalar ve bunların nasıl düzeltileceği

  • Hata: Çakışma: Yerel bir depoda etiketlendiği için depo referansı kaldırılamıyor. Çözüm: Yerel etiketi kaldırın veya kullanın docker rmi -f.
  • Hata: Konteyner tarafından kullanılan hacim — Çözüm: Öncelikle, birimi kullanan kapsayıcıyı belirleyin ve durdurun/kaldırın: docker ps -a --filter volume=.
  • İstenmeyen veri silme: Çözüm: Düzenli yedeklemeler ve bulut hizmeti anlık görüntülerinden yararlanmak.

 

Çözüm

Düzenli Docker temizliği, hizmetlerin sürdürülmesi ve maliyet ile performansın optimize edilmesi için önemli bir unsurdur. Tanımlama, yedekleme, hizmetleri durdurma ve imajları, konteynerleri ve birimleri güvenli bir şekilde silme adımlarının doğru bir şekilde uygulanması, bozulma ve veri kaybı riskini azaltır. Bir temizlik politikasına sahip olmak ve bunu otomatikleştirmek, özellikle birden fazla lokasyona sahip bulut ve VPS ortamlarında çok önemlidir.

 

Destek ekibiyle iletişime geçin ve bakım işlemlerini koordine edin.

GitLab CI, çalıştırıcılar veya GPU sunucuları için büyük çaplı bir temizlik yapmanız veya otomatik komut dosyaları kurmanız gerekiyorsa, bakım penceresi işlemlerini gerçekleştirmek ve anlık görüntüler almak için destek ekibiyle iletişime geçebilirsiniz.

Ayrıca Şunları da Beğenebilirsiniz

CentOS 6/7'ye IBSng nasıl kurulur

CentOS 6/7'de IBSng Kurulum Eğitimi Bu makalede, centOS 6/7'de IBSng kurulum eğitimi size yardımcı olmak için sağlanmıştır…

Sunucu nasıl kurulur?

Giriş Hazır sunucu kiralamak veya satın almak, özellikle küçük şirketler için güvenli bir tercihtir. Ancak,…