Küçük ve güvenli konteyner imajları: rootsuz, zayıf, tekrarlanabilir
Güncelleme

Konteyner olaylarının çoğunu önleyen üç imaj alışkanlığı: rootsuz çalış, zayıf tut, yeniden inşaları tekrarlanabilir yap.
Konteyner olaylarının çoğu orkestratörden değil üç alışkanlıktan gelir: imajlar root çalışır, imajlar kimsenin denetlemediği tam işletim sistemi taşır ve etiketler kayar, neyin çalıştığını kimse bilmez. İmajı düzelt, çalışma zamanı korkularının yarısı gider.
Üç alışkanlık
Rootsuz çalış. İsimli kullanıcı aç, yalnızca uygulamanın gerektirdiği dosyalara sahip ol, süreç kullanıcısını çalışırken doğrula. Konteyner içi root gerekçeli istisna olmalı, varsayılan değil.
Zayıf tut. Minimal tabandan başla, yalnızca çalışma zamanı paketlerini kur, önbellekleri aynı katmanda sil. Her fazla ikili, sonra okuyacağın bir zafiyet raporudur.
Sabitle ve tekrar üret. Taban sürümlerini sabitle, paket sürümlerini sabitle ve tarifin hâlâ çalıştığını kanıtlamak için düzenli yeniden inşa et. Tek dizüstünde inşa olan imaj yapıt değil söylentidir.
Çalışılmış örnek: kurgusal imaj diyete girer
Aşağıdaki bağlam kurgusaldır. Kurgusal ParcelTrack servisi 900 MB imajı kayan taban etiketiyle root olarak çıkarır; güvenlik taramaları kimsenin tanımadığı onlarca paket işaretler ve bir yeniden başlatma test edilenden farklı kütüphane sürümü sunar.
Birinci hafta: isimli app kullanıcısı, dosyalar app sahipliğinde, çalışma zamanı kontrolü rootsuz doğrular. İkinci hafta: minimal taban, üç çalışma zamanı paketi, katman içi önbellek temizliği; boyut 150 MB altına iner, tarama listesi ekibin isim verebildiği paketlere iner. Üçüncü hafta: sabit taban özeti artı haftalık yeniden inşa işi; yeniden inşa tekrarlanabilirliği varsaymak yerine kanıtlar. Aynı uygulama, aynı özellikler, risk yüzeyinin küçük bir kısmı.
Karar tablosu: imaj seçimleri
| Seçim | Tercih | Neden |
|---|---|---|
| Kullanıcı | İsimli rootsuz | En kolay yetki yükseltme ödülünü kaldırır |
| Taban | Minimal, sabitli | Denetlenecek az, her inşa aynı bayt |
| Sinyaller | SIGTERM zarif karşılanır | Orkestratörler konteyner durdurur; duruşta çökme olaya döner |
| Sağlık | Gerçek healthcheck | Ölüyken çalışıyor görünmek en geç yakalanan en kötü durumdur |
Kontrol listesi: gece çalıştıracağın imaj
- Süreç kullanıcısı rootsuz, çalışırken doğrulanmış.
- Zincirin hiçbir yerinde kayan etiket yok.
- Tarama çıktısı yalnızca ekibin tanıdığı paketleri sayar.
- SIGTERM temiz kapatır, healthcheck canlılığı kanıtlar.
İlgili okuma
- İnşa et: Tekrarlanabilir Rootsuz İmaj.
- Sonra işlet: Healthcheck, SIGTERM ve Limitler.
Net yanıtlar
Sık sorulan sorular
Root çalışmak neden bu kadar kötü?
Konteyner kaçağı ya da yazılabilir mount, içerideki rootu dışarıda koz yapar. İsimli rootsuz kullanıcı en kolay ödülü kaldırır.
Slim mi alpine mi distroless mı?
Önce hata ayıklanabilirlik için slim, ekip olgunlaştıkça daha küçük. Başlangıç tabanından çok yön önemlidir.
latest etiketi hiç olur mu?
İki kez çalıştırdığın hiçbir şeyde olmaz. Özet ya da sürüm sabitle ki salı, pazartesi test edilenin aynısını inşa etsin.