Masaüstünde Docker konteyner kaynağı yönetimi

Tek bir ters giden konteyner bir ev laboratoruvarını durma noktasına getirebilir. Bir Jellyfin transkodu, bir Immich yeniden dizini oluşturması, bir Home Assistant veri tabanı sorgusu ve aniden Pi-hole DNS kaybediyor ve Nextcloud zaman aşımı oluyor. Çözüm daha fazla RAM değildir. Çözüm kapaklar. Her konteyner bir bellek tavanı, bir CPU payı ve bir blok I/O ağırlığı alır ve gürültülü komşu kendi şeridinde kalır. Bu, bir XDA yazarının kısa süre önce, sonunda yığınındaki her konteyner üzerinde mem_limit, cpus: ve blkio-weight ayarladıktan sonra anlattığı hikaye. Güvenilirlik donanımdan değil, kapaktan geldi.

Geçtiğimiz birkaç hafta boyunca, self-hosterlar için önemli olan üç masaüstü platformunda Docker konteyner kaynak yönetimi için en iyi uygulamaları çalıştırdık: Windows (WSL veya Docker Desktop aracılığıyla), macOS ve Linux. Web arayüzleri, terminal arayüzleri ve tam kendi kendine barındırılan işletim sistemlerine baktık ve bunları bir soru üzerinde sıraladık. cpus: 2.0 ve mem_limit: 1g öğelerini tek bir yerde tüm kapsayıcılara ne kadar hızlı koyabilirsiniz? Bu yedi kurulmaya değer.

Docker kaynak yöneticisinde ne arayacağınız

Her Docker GUI’si kaynakları sınırlamak için yapılmış değildir. Birkaç şey kurulmaya değer olanları, konteynerlerinizi güzel simgelerle listeliyenleri ayırır.

Hızlı karşılaştırma

Uygulama Şunun için en iyisi Platformlar Lisans Fiyat
Portainer Yığınlar ve sınırlar üzerinde tam GUI kontrolü Windows, macOS, Linux Ücretsiz CE, ücretli BE Ücretsiz / Yaklaşık $155 düğüm/yıl
Dockge Canlı istatistikler ile Compose-ilk düzenleme Windows, macOS, Linux Açık kaynak Ücretsiz
Docker Desktop Mac ve Windows’ta yerel konteyner başına sınırlar Windows, macOS, Linux Kişisel ücretsiz, takımlar ücretli Ücretsiz / $9 kullanıcı/ay
CasaOS Uygulama mağazası ile başlayan ev laboratuvarı işletim sistemi Linux (Debian/Ubuntu/Pi) Açık kaynak Ücretsiz
Runtipi Akılca varsayılanlar ile seçilmiş ev laboratuvarı uygulama mağazası Linux Açık kaynak Ücretsiz
Yacht Tek ana bilgisayar Docker için hafif web arayüzü Windows, macOS, Linux Açık kaynak Ücretsiz
Lazydocker Hızlı triaj ve CPU/bellek kontrolleri için terminal arayüzü Windows, macOS, Linux Açık kaynak Ücretsiz

Uygulamalar

1. Portainer, her konteynir üzerinde tam GUI kontrolü için en iyisi

Portainer, yığınları dört veya beş konteynerden ötesine büyüdükten sonra çoğu self-hosterın üzerine düştüğü araçtır. Community Edition ücretsizdir, tek bir Docker konteyneri olarak çalışır ve size bir veya birden fazla Docker ana bilgisayarında her konteynir, görüntü, ağ, hacim ve yığın için tarayıcı tabanlı bir konsol verir. Kaynak sınırlaması özellikle için, konteyner düzenleme görünümü CPU sınırını (vCPU sayısı olarak), bellek rezervasyonunu ve bellek sınırını ortaya koymakta ve docker update aracılığıyla konteyneri yeniden oluşturmadan sıcak uygulanacak. Yığınlar (compose dosyaları) satır içinde düzenlenebilir ve Portainer bunları kaydettiğinizde yeniden dağıtır.

Multi-host görünümü onu daha hafif seçeneklerin ötesine iter. Bir NAS ve bir mini PC üzerinde Docker çalıştırırsanız, tek bir Portainer kurulumu her ikisini de yönetebilir ve kaynak panosu herhangi bir şeyi sınırlamadan önce hangi ana bilgisayarın baskı altında olduğunu gösterir.

Kısıtlı olduğu yer: Ücretsiz Community Edition, üç kullanıcının ötesinde kullanıcı başına RBAC ve destek sözleşmeleri de dahil olmak üzere ücretli Business Edition katmanına birkaç özellik bırakır. Ayrıca arayüzden blok I/O ağırlığını kapsamamakta, bu nedenle blkio-weight hala compose dosyanızda yaşıyor.

Fiyat: Community Edition sınırsız düğümler için ücretsizdir. Business Edition, birim indirimler ve ev kullanımı için ücretsiz 5 düğüm lisansı ile düğüm başına yaklaşık 155 $/yıl fiyatından başlar.

Platformlar: Docker’ın çalıştığı yerde çalışır. Masaüstünde bu Windows (WSL veya Docker Desktop), macOS (Docker Desktop veya Colima) ve Linux’tir.

İndir: Yayınlayıcı sitesi · GitHub

Sonuç: Sahip olduğunuz her makinede her konteyniri görmek ve sınırlamak için bir pano istiyorsanız, Portainer varsayılan yanıttır.

2. Dockge, en iyi ücretsiz compose-ilk yönetici

Dockge, Portainer’ın tersi bir yaklaşım alır. Konteynerleri birinci sınıf nesneler olarak yönetmek yerine, compose dosyalarını gerçeğin kaynağı olarak değerlendirir. Tarayıcıda docker-compose.yaml düzenlersiniz, dağıt’a basarsınız ve Dockge yığını durdurur, yeniden oluşturur ve yeniden başlatır. Bu, mem_limit: 512m ve cpus: '0.5' öğelerini deploy.resources altında her hizmete eklediyseniz ve değişimin hemen yansıtıldığını görmek istediğinizde istediğiniz tam iş akışıdır.

Arayüz bilerek seyrek: solda yığın listesi, sağda bir compose editörü ve terminal, en üste canlı CPU ve bellek okumalar. Uptime Kuma ile aynı geliştirici tarafından yazıldı, bu yüzden cilalama gerçektir ve kurulum tek bir Docker konteyneridir.

Kısıtlı olduğu yer: Sadece tek ana bilgisayar. Tek bir ekrandan birden fazla Docker makinesini yönetmek istiyorsanız, Dockge bunu yapmayacaktır. Ayrıca compose dosyaları yazmakta rahat olduğunuzu varsayar, bu nedenle daha önce YAML’yi hiç görmeyen biri için seçim değildir.

Fiyat: Ücretsiz, MIT lisansı altında açık kaynak.

Platformlar: Docker’ın çalıştığı yerde çalışır. Windows, macOS veya Linux tarayıcısından erişilen bir Linux sunucusunda iyi çalışır.

İndir: GitHub

Sonuç: Konteynerleriniz zaten compose dosyalarında yaşıyorsa ve tarayıcıdan ayrılmadan onları sınırlamak istiyorsanız en iyi ücretsiz seçim.

3. Docker Desktop, Windows ve macOS’ta en iyi built-in seçenek

Docker Desktop, çoğu kullanıcının hiç açmadığı kaynak kontrolleriyle gelir. Windows ve macOS’ta, Kaynaklar bölmesi tüm Docker VM’sini sınırlar (bellek, CPU, takas, disk görüntü boyutu), bu da Docker’ın dizüstü bilgisayarınızı ısırmasını önlemek için emniyetiniz. Buna ek olarak, bireysel konteyner sınırları hala CLI, compose dosyaları ve son sürümlerde masaüstü UI’sının konteyner düzenleme diyaloğu aracılığıyla her zaman çalışır.

Bu listede olmasının nedeni, zaten çoğu masaüstü makinesinde kurulu olmasıdır. Docker Desktop Ayarları’ndan geçmediyseniz ve altyapıda bir sabit bellek ve CPU sınırı belirlemediyseniz, bunu ilk olarak yapın. Aşağıdaki her konteyner sınırı bu dış sınırın üzerine dayanır.

Kısıtlı olduğu yer: Altyapı genelindeki sınırlar şovun yıldızı; masaüstü UI’sında konteyner başına düzenleme işlevsel ancak seyrekdir. Linux’ta masaüstü uygulaması isteğe bağlıdır, çoğu kişi daemon’u doğrudan kullanır. 250 çalışanın veya 10 milyon dolar gelirin üzerindeki ticari kullanım için ücretli abonelik gereklidir.

Fiyat: Kişisel kullanım, eğitim, küçük işletme ve açık kaynak için ücretsiz. Pro kullanıcı başına ayda 9 $ olup, Team 15 $, Business 24 $‘dır.

Platformlar: Windows, macOS, Linux.

İndir: Docker.com

Sonuç: Önce altyapı genelindeki sınırı ayarlayın, sonra konteyner başına sınırlar için üst kısmına başka bir araç koyun. Çoğu ev kullanıcısı için ücretsiz.

4. CasaOS, başlayan ev laboratuvarı için en iyi seçim

CasaOS, Debian, Ubuntu, Raspberry Pi OS veya benzerine oturan tam bir kendi kendine barındırılan işletim sistemi katmanıdır. Bir satırlık komut dosyasıyla kurun ve telefon benzeri bir giriş ekranı, tek tıklamalı yükleyiciler içeren bir uygulama mağazası (Jellyfin, Immich, Pi-hole, Home Assistant ve yaklaşık 150 diğeri) ve gerçek zamanlı olarak uygulama başına CPU ve bellek gösteren bir konteyner görünümü alırsınız. Yüklü her konteynir için ayarları açabilir ve bir compose dosyasına dokunmadan bellek sınırı, CPU ayırmaları ve bağlantı noktası ve birim eşlemeleri belirleyebilirsiniz.

Bu, Plex ve Home Assistant çalıştırmak için mini PC satın alan ve hiçbir zaman terminali açmayan bir arkadaş karşısına koyacağımız araçtır. Kapaklar bir kaydırıcı uzaklıkta ve arayüz hangi konteynerlerin sınırsız olduğunu açık kılıyor.

Kısıtlı olduğu yer: Tek ana bilgisayar, sadece Linux ve görüşlü. Uygulama mağazası belirli bir görüntü setini küratör. Özel veya katalog dışı konteynirler compose içe aktarıcısı aracılığıyla çalışır ancak tek tıklamalı UX’den yararlanmaz. Geliştirme hızı birkaç yıl öncesine kıyasla yavaşladı, ancak proje hala aktif olarak bakılmaktadır.

Fiyat: Ücretsiz, Apache 2.0 lisansı altında açık kaynak.

Platformlar: Sadece Linux (Debian, Ubuntu, Raspberry Pi OS, Fedora, Arch). Herhangi bir masaüstü tarayıcısından erişin.

İndir: Yayınlayıcı sitesi · GitHub

Sonuç: Makine özel bir Linux kutusu ise akılca konteyner başına kapaklar ile küçük bir ev laboratuvarı çalıştırmanın en kolay yolu.

5. Runtipi, CasaOS için en iyi seçilmiş ev laboratuvarı alternatifi

Runtipi, CasaOS ile aynı alanı kapsar (uygulama mağazası, tek tıklamalı yükleyiciler, uygulama başına ayarlar), ancak daha modern hissettirir ve daha hızlı hareket eder. Uygulama mağazası artık yüzlerce konteynerleştirilmiş uygulamayı kapsar, tümü akılca varsayılanlar ile paketlenmiş, arayüzde ortaya konan ortam değişkenleri ve uygulama başına kaynaklar ayarı. Uygulama konfigürasyonunda belirlediğiniz kapaklar dağıtım sırasında standart Docker sınırlarına çevrilir.

Kullanıcı belgeleri okumaktan daha mutlu olduğunda Runtipi’yi CasaOS’a tercih ederiz, çünkü ayarlar daha fazla düğmeyi açar. Ayrıca birden fazla mimari için daha iyi destek ve daha temiz bir güncelleme akışı vardır.

Kısıtlı olduğu yer: Ayrıca tek ana bilgisayar ve sadece Linux. Mağazada olmayan uygulamalar yine de bir compose dosyası gerektirir ve özel bir uygulama tanımı aracılığıyla içe aktarılır. Topluluk Portainer veya CasaOS’a göre daha küçüktür, bu nedenle belirsiz entegrasyonlar daha fazla kazı gerektirir.

Fiyat: Ücretsiz, açık kaynak.

Platformlar: Linux (Debian, Ubuntu ve türevleri). Herhangi bir masaüstü tarayıcısından erişin.

İndir: Yayınlayıcı sitesi · GitHub

Sonuç: CasaOS çok basit ve Portainer çok ham hissettiğinde seçim.

6. Yacht, en iyi hafif web arayüzü

Yacht, Portainer ile aynı alanda daha küçük, daha hızlı bir web arayüzüdür ve temiz bir konteyner listesi, tek tıklamalı şablonlar ve yığın yönetimi veya multi-host orkestrasyonunun ek yüzey alanı olmadan CPU ve bellek sınırları içeren bir ayarlar bölmesi isteyen kullanıcılara hedeflenmiştir. Şablonlar JSON dosyalarında yaşar ve topluluk tarafından paylaşılabilir, bu da görüntüyü sağlam kapaklar ile dağıtmayı kolaylaştırır.

Esas olarak konteynerleri başlatan, durduran, sınırlayan ve güncelleyen tek bir Docker ana bilgisayarında Yacht, Portainer’den daha hızlı öğrenilir ve tüm akışı iki veya üç ekran içinde tutar.

Kısıtlı olduğu yer: Geliştirme Portainer veya Dockge’den çok daha yavaştır ve proje uzun bir betada. Multi-host yol haritasında değildir. Daha yeni Docker özellikleri burada daha büyük araçlardan daha geç gelir.

Fiyat: Ücretsiz, açık kaynak.

Platformlar: Docker’ın çalıştığı yerde çalışır. Herhangi bir masaüstü tarayıcısından erişin.

İndir: GitHub

Sonuç: Portainer’ın aşırı görüldüğü zaman tek bir Docker ana bilgisayarı için temiz bir web arayüzü.

7. Lazydocker, hızlı triaj için en iyi terminal arayüzü

Lazydocker yönetici değildir, elleri olan bir monitördür. Terminalde başlatın ve istatistik bölmeleri, günlükler ve shell kısayolu ile birlikte canlı CPU, bellek, blok I/O ve ağ grafikleri ile her konteynerin klavye odaklı görünümünü alırsınız. Bir konteyner ani çıktığında, lazydocker size saniyeler içinde hangisini gösterir ve bölmeyi bırakmadan yeniden başlatabilir, durdurabilir veya shell açabilirsiniz.

Gerçekten sınırlar ayarlamak için, bir shell’e inersiniz (e konteyneri $EDITOR veya docker exec içinde açar) ve docker update --cpus 2 --memory 1g <name> kullanır veya compose dosyasını düzenlersiniz. Bu, ana bilgisayarınız olan herhangi bir web arayüzünün yanında tmux bölmesinde tuttuğunuz araçtır.

Kısıtlı olduğu yer: Compose veya çalıştırma sınırları için düzenleme arayüzü yoktur, CLI yazmanız gerekir. Sadece Docker, Kubernetes yok.

Fiyat: Ücretsiz, MIT lisansı altında açık kaynak.

Platformlar: Windows (WSL veya PowerShell aracılığıyla), macOS, Linux. Homebrew, Scoop, Nix veya Go ikili aracılığıyla kurunuz.

İndir: GitHub

Sonuç: Hangi konteynerin şu anda kötü davrandığını görmek ve onu sınırlayan docker update çalıştırmanın en hızlı yolu.

Doğru olanı seçme

Çoğu self-hoster sonunda iki tanesine sahip olur. Sınırlar ayarlamak ve durumu okumak için bir web arayüzü, artı bir konteyner kötü davranmaya başladığında boş bir terminalde Lazydocker.

SSS

Masaüstünde Docker konteynerlerini yönetmek için en iyi ücretsiz uygulama nedir?

Portainer Community Edition en güçlü ücretsiz seçimdir çünkü kapsayıcı düzenleme, yığınlar, multi-host ve canlı istatistikleri ödeme duvarı olmadan tek bir tarayıcı arayüzüne kapsar. Bir compose-birincil iş akışı için, Dockge daha iyi ücretsiz seçimdir.

Docker kapsayıcısında CPU ve bellek sınırı nasıl belirlerim?

Bir compose dosyasında, hizmetin altına deploy.resources.limits.cpus: '2.0' ve deploy.resources.limits.memory: 1G ekleyin veya eski üst düzey cpus: 2.0 ve mem_limit: 1g öğelerini kullanın. Çalışan bir konteynerde docker update --cpus 2 --memory 1g <name> değişimi yeniden başlatma olmadan uygular. Portainer, Dockge, CasaOS, Runtipi ve Yacht’ın tümü bu ayarları arayüzde ortaya koymaktadır.

Docker Desktop bireysel konteynerleri sınırlandırabilir mi?

Docker Desktop’ın Kaynaklar bölmesi Windows ve macOS’ta tüm Docker VM’sini sınırlandırır, bireysel konteynerleri değil. Konteyner başına sınırlar hala compose dosyalarından, docker run bayraklarından veya aynı altyapıda çalışan Portainer gibi yöneticiden gelir.

Ev laboratuvarı için Portainer mı yoksa Dockge mi daha iyi?

Birden fazla Docker ana bilgisayarınız varsa veya tam bir konteyner yöneticisi istiyorsanız Portainer. Tüm hizmetleriniz zaten tek bir ana bilgisayarda compose dosyalarında yaşıyorsa ve en hızlı düzenleme döngüsünü istiyorsanız Dockge. Çoğu ev laboratuvarı meraklısı her ikisini de kurar ve her birini en iyi yaptığı şey için kullanır.

CasaOS ve Runtipi arasında fark nedir?

Her ikisi de seçilmiş bir uygulama mağazası ve uygulama başına ayarları olan tek satırlık yükleme ev laboratuvarı işletim sistemi katmanlarıdır. CasaOS, değişim hızı daha yavaş olan başlangıç dostu; Runtipi daha fazla yapılandırma ortaya koymakta ve daha hızlı yeni uygulamalar göndermektedir. Basitlik önemliyse ilk olarak CasaOS’u deneyin, şeyleri ayarlamayı planlıyorsanız Runtipi.

Bu araçlar Windows üzerinde WSL’de çalışıyor mu?

Evet. Yediden herhangi biri WSL 2 içindeki Docker altyapısında bir konteynerde çalışır ve Windows tarayıcısından localhost adresindeki web arayüzüne erişirsiniz. Lazydocker ayrıca doğrudan WSL kabuğunun içinde çalışır.