Kapları sanal bir makine içinde mi çalıştırıyorsunuz?


15

Anladığım kadarıyla, kapsayıcılar VM'lerden çok daha hafiftir, çünkü donanımı sanallaştırmazlar, bunun yerine içinde çalışan yazılımları sistemdeki diğer kaplarda çalışan yazılımlardan izole ederler.

Benim durumum öyle ki, ek sunucu satın almaya gücü yetmiyor ve sahip olduğum sunucuların hepsi hipervizör çalıştırıyor. Ben nispeten küçük web uygulaması (her örnek farklı bir müşteri içindir) örnekleri barındırmak için en az 6 "sunucu" sağlamak gerekir. Bu sunucuların her biri için yeni bir VM sağlamak israf olacaktır, bu yüzden 2 VM kurmayı ve aşağıdakilerden birini yapmayı planlıyorum:

  1. Sanal ana bilgisayarları (apache) kullanarak her VM'de uygulamanın birden çok örneğini çalıştırın. veya
  2. Ortamları izole etmeme izin verecek VM'ler üzerinde kapsayıcılar kurun.

Bunu göz önünde bulundurarak, bir VM içinde bunları kullanmayı kötü bir fikir haline getirecek konteyner sistemleriyle ilişkili ihmal edilemez bir ek yük var mı, yoksa konteyner kullanmak istemem için başka bir teknik neden var mı?

Yanıtlar:


13

Docker, bir VM'ye kıyasla ÇOK hafiftir ve bir VM sistemi sadece iyi çalışan kapları çalıştırmalıdır. Her kap esas olarak izole edilmiş bir sistem olarak çalışır, bu nedenle sistem kararlılığı perspektifinden izolasyon için çok iyidir. Açıklamanıza dayanarak Docker için ideal kullanım örneği gibi geliyor. Docker ile deneme yaparsanız, mümkün olan en yeni sürümü kullandığınızdan emin olun, bazı eski sürümlerde oldukça kötü güvenlik açıkları vardır. Docker'ı çalıştırırken bazı güvenlik hususları vardır.

SELinux - SELinux kapsayıcının farkındadır ve her kap için otomatik olarak rastgele adlandırılmış bir MCS etiketi oluşturur. Bu, LXC kaplarının kendi başlarına gerçekten "içerdiği" düşünülmediğinden izolasyonun sağlanmasına yardımcı olur, ancak bu iyileşme gösterir.

KULLANICI Yönergesi - Her bir Dockerdosyasında, KULLANICI yönergesini kullanmanız ve kullanıcının varsayılan olarak root dışında bir hesap olarak çalıştırılması önerilir. Buradaki yakalama, kullanıcının sistemde bulunması gerekir. Ayrıca bu yeni kullanıcı için chowning / chmodding dosyalarını ve dizinleri sinir bozucu olabilir, ancak riskinizi azaltmaya yardımcı olur. Sistemin başka herhangi bir bölümü ile çakışmayan tüm sistemlerde ortak bir kullanıcının bulunmasını sağlamak için sistemlerinizde genellikle bir "kapsayıcı" veya bunun gibi bir şey oluşturmanızı öneririm.

Aksi takdirde, en zor kısım kapları yönetmek ve gerektiğinde güncellemektir.


3

konteyner sistemleriyle ilişkili, onları bir VM içinde kullanmayı kötü bir fikir haline getirecek ihmal edilemez bir ek yük var mı?

Does Docker Konteynerleri Performans VMware vSphere içinde yardım sen?

ya da konteyner kullanmak istememem için başka bir teknik neden var mı?

Docker'ı genel olarak bilmiyorum çünkü henüz onunla çalışmadım. Ben yönetim yazılımı VM yönetim yazılımı ile karşılaştırıldığında hala olgunluk eksikliği düşünüyorum ... ama ben bir vSphere yöneticisiyim ve bu nedenle muhtemelen taraflı.

VM'lerde Docker göz önüne alındığında, CoreOS artık vSphere 5.5'te resmi olarak desteklenmektedir . Bu nedenle en azından VMware, VM'lerde Docker / kapsayıcıların iyi olduğunu düşünüyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.