Docker Nedir ?

Docker Nedir?



  Docker en temelde uygulamaları işletim sistemi (OS) bağımlılığından kurtarıp sanal ortamda hızlı bir şekilde derlemeye, test edilmesine ve dağıtımına imkan tanıyan bir yazılım platformudur.

  

  Docker içerisinde LXC adlı bir sanallaştırma mimarisini kullanmıştır. LXC Linux çekirdeğinde aynı OS içerisinde birbirinden izole olmuş bir biçimde çalışan containerlar sağlamaktadır. Bu container adlı yapılar yazılımları geliştirme sürecinde birçok olanak sağlamaktadır. LXC işletim sistemi seviyesinde yaptığı sanallaştırma ile klasik sanallaştırmaya göre daha fazla miktarda fayda sağlar. Hypervisor (Vmware,VirtualBox) ile yapılan sanallaştırmada sanal ortam,sunucu kendine ait bir Guest OS ‘a ihtiyaç duyar. LXC bu masraflı durumu containerların Host OS’u kullanması ile ortadan kaldırmıştır. LXC bu yönüyle kaynak tasarrufu sağlar. Docker ile LXC daha düzenli,efektif,paket yönetimi yüksek ve sade bir halde dünyaya sunmuştur.Docker ileri sürümlerinde LXC’yi kendi açısından tekrar kodlayarak Linux’a olan bağımlılığını kaldırmıştır.

 

  



 Docker kaynak kullanımını geliştirerek daha hızlı kod göndermenize, uygulama işlemlerini standart hale getirmenize, kodu sorunsuz bir şekilde taşımanıza ve tasarruf etmenize imkan tanır. Docker ile her yerde güvenilir bir şekilde çalışabilen tek bir nesneniz olur. Docker'ın basit ve kolay anlaşılan söz dizimi, size tam denetim sağlar.



 Docker ile container yapısı metin bazlı image yapısı kullanılarak tanımlanır. Bu sayede aynı image formatı kullanılarak aynı özellikte containerlar kolaylıkla yaratılabilir. Docker Registry ile de bu image'ler paylaşılabilir ve kolaylıkla düzenlenme ve güncellenme işlemleri kolayca halledilir. İmage içerisinde içeriğin tamamına sahiptir. Container temelde çalışan bir imagedir. Bu siteden paylaşılan kullanıma açık olan image'leri görebilirsiniz.

 


 Docker istenilenilen image’in, çalışacak olan servisin bilgilerini Dockerfile adlı metin bazlı belgede bulunmasını ister. Docker bu bilgiler ile image oluşturur. İleri seviyelerde artan program yükü ile servislerin sayısı arttıkça Dockerfile yetersiz kalmaktadır.



  Docker bu sebepten ileri versiyonlarında Docker-Compose adlı bir .yaml uzantılı bir metin bazlı bir belge kullanımını geliştirmiştir. Docker-Compose ile birden çok servis aynı anda çalıştırılabilir ve konfigürasyonları ayarlanabilir bu yönüyle kullanılabilirlik ve rahatlık sağlar.



  Docker ardından bu kadar iç içe çalıştırılabilen containerları yönetmek için Docker Swarm'ı piyasaya sunmuştur. Docker Swarm ile iletişim halindeki containerların senkronizasyonunu sağlayıp onları daha efektif yollardan yönetilebilir hale getirmiştir.


  Docker bu artıları ile birçok alanda bizlere hizmet sunmaktadır. Bunların başında olan mikro-servisler, veri işleme, sürekli entegrasyon ve güncellik isteyen hizmetler için destek sağlamaktadır.





Kaynakça:

https://gokhansengun.com/docker-nedir-nasil-calisir-nerede-kullanilir/

https://aws.amazon.com/tr/docker/

https://www.spantree.net/blog/2015/04/29/10-things-to-know-about-docker.html





Yorumlar

Bu blogdaki popüler yayınlar

Program Karmaşıklığı Nedir ? Nasıl Ölçülür ? McCabe Karmaşıklık Ölçütü Nedir ?

Execution failed for task ':flutter_blue:generateDebugProto'. > Could not resolve all files for configuration ':flutter_blue:protobufToolsLocator_protoc'.

Algoritma Karmaşıklığı Nedir ? Zaman ve Hafıza Karmaşıklığı Nedir ? Nasıl Hesaplanır ?