Docker Terminolojisi
Docker’ın amacı , potansiyel olarak bir uygulamanın bileşenlerini barındıran konteynırlar oluşturmaktır. Bu konteynırları uygulamanın kendisi, veritabanı altyapısı, ihtiyaç duyduğu herhangi bir Web hizmeti vb. barındıran bir kap olarak düşünebiliriz. Bir sanal makineden farklı olarak, bu kap bir işletim sistemine ihtiyaç duymaz, bu yüzden bir VM’den daha az yer kaplar ve daha hızlı açılır veya kapanır.
Docker Hub’da kullanılmanızı bekleyen bir sürü hazır konteynır bulunur. Bunlara image (görüntü) denir. Bir çoğu Linux tabanlıdır. Fakat bunlar .net core uygulamalarını da çalıştırabilirler. Docker Hub örnek bir depodur. Bu deponun bir benzerini yazılımcılarınız için firmanızda da oluşturabilirsiniz. Böylece yazılım geliştiricilere hızlı bir geliştirme ortamı sunabilirsiniz.
Bir uygulamanın tüm bileşenlerini tek bir kaba koyabilirsiniz, ancak her bir bileşen için ayrı kaplar da oluşturabilirsiniz.Bu, bileşenleri tek tek yükseltmenize , değiştirmenize veya ölçeklenebilirliğini geliştirmek için bir kabın birden çok kopyasına başlamanıza olanak sağlar. Birden fazla konteyneriniz olduğunda, birden fazla konteynırdan oluşan bir uygulama oluşturmak ve başlatmak için Compose’u kullanmak isteyeceksiniz .
Üretimde, konteynırlarınızı izleyebilecek, uygun sayıda konteyneri otomatik olarak başlatabilecek ve başarısız olan konteyneri otomatik olarak başlatabilirsiniz. Bunun için bir orchestrator’a ihtiyacınız var. Bu da Kubernetes ‘tir. Kubernetes, podlardan oluşan hizmetler ile çalışır. Podların her biri bir veya daha fazla konteyner içerebilir. Podların üstünde çalıştığı sistemlere ise node denir.
Bir gruptaki tüm konteynırları tek bir hizmetmiş gibi işlemenizi sağlayan Swarm‘a sahipsiniz
Kaynakça
Peter Vogel