Docker, yazılımcılar ve devops konusunda çalışan kişiler için son zamanlarda geliştirilen en faydalı araçlardan birisidir. Özellikle projelerin scale edilmesi konusunda büyük kolaylıklar sağlamaktadır ve kaynak yönetimini çok daha ölçülebilir bir noktaya taşımaktadır.
Docker, sanallaştırma yazılımları ile sık sık karıştırıldığı için konuya pek hakim olmayan kişiler tarafından maalesef pek anlaşılamayan bir araç. Ancak Docker bir sanallaştırma (virtualization) yazılımı değil; bir containerization yazılımıdır.
bkz: Sanal Makine (Virtual Device) Nedir?
Peki virtualization ile containerization arasındaki fark nedir? Bildiğimiz gibi sanallaştırma çözümlerinde her bir alt sanal makine, kendi işletim sistemine sahip ve üstündeki makineden de tam anlamıyla habersiz ve bağımsızdır. Bu anlamda tam anlamıyla izole olduklarını söyleyebiliriz. containerization teknolojisinde ise container'lar vardır ve her bir container, barındığı işletim sistemi seviyesinde çalışır. Böylece her bir container, kendi uygulamaları için sadece gereken kütüphaneleri ve kaynakları kullanır. Bu da daha az kaynak ile daha fazla performans anlamına gelmektedir.
Bana sorarsanız yeni bir programlama dili öğrenmek, zaten bildiğiniz programlama dilleri var ise size çok da yeni kapılar açmayacaktır. Ama docker'ın cv'nizde bulunması size çok daha büyük avantajlar sağlayabilir, özellikle de kubernetes kullanabilecek seviyede kendinizi geliştirebilirseniz kesinlikle altın bilezik.
Editör editi: sitede yer alan bazı diğer benzer başlıklar için;
bkz: Setapp nedir? Fiyatı nedir ve içindeki uygulamalar nelerdir?
bkz: Excel Flash Fill (Hızlı Doldurma) Özelliği Nedir ve Nasıl Kullanılır?
bkz: Hashing Nedir?
bkz: PDC Dosyası Nedir ve Nasıl Açılır?
bkz: CGNat (Carrier-grade NAT) Nedir?
bkz: Windows Powertoys Nedir ve Nasıl Kullanılır?