Docker Nedir?

Uzun bir süredir Yazılım Geliştirme, Yazılım Dağıtımı, Bakımı ve Operasyonlarından izole edilmiştir. Docker’ın ortaya çıkmasıyla birlikte, Geliştiriciler artık dağıtım, yapılandırma ve işletim hakkında bilgi edinmenin kolay bir yoluna sahipler ve bu da, sektörde en çok aranan ve iyi ücretli rollerden biri olan DevOps olarak bildiğimiz şeyin ortaya çıkmasını sağlıyor.

Docker Kapsayıcıları ayrıca, teknolojide artık standart olarak kabul edilen birçok endüstri trendinin ateşlenmesine yardımcı oldu; bunlardan bazıları şunlardır: otomatik CI/CD Boru Hatları, Mikro Hizmetler, Sunucusuz mimariler vb.

Docker Tanımı: Docker, uygulamalarımızı, tüm gerekli işletim sistemi kitaplıkları ve bağımlılıklarıyla birlikte, kapsayıcılar adı verilen konuşlandırılabilir yürütülebilir dosyalar halinde paketlememize olanak tanıyan bir platformdur.

Bu da, uygulamalarımızı temel alınan altyapıdan/donanımdan ayırabileceğimiz anlamına gelir ve bu da hızlı geliştirme, test etme ve dağıtıma olanak tanır.

Neden Docker?

(Docker) Konteynerler ile Sanal Makineler arasındaki ana ayırt edici faktör, Konteynerlerin VM’ler gibi tüm fiziksel makineyi sanallaştırmak yerine yalnızca işletim sistemini sanallaştırmasıdır.

Bu, Container’ların kendilerinin tüm bir işletim sistemi içermediği anlamına gelir ve bu da onları alternatifinden önemli ölçüde daha hafif, daha hızlı, daha taşınabilir ve esnek hale getirir.

Docker, Container’ların tüm yaşam döngüsünü yönetmek için platform ve araçları sağlar.

Docker’ın başlıca faydaları:

1-Basitlik

    Docker, sanallaştırmanın tüm ağır yükünü tek bir paket kullanarak ve kendi başına yöneterek, yazılım geliştirmeyi operasyonlarla entegre etmenin karmaşıklığını ortadan kaldırır.

2-Hız

    Her şeyi farklı bir makinede veya ortamda tekrar yapmak, ortamı ayarlamak için saatler veya günler harcamak yerine, istediğiniz an, uygulamanızı saniyeler veya dakikalar içinde çalışır duruma getirebilirsiniz. Daha hızlı yazılım döngüsü, ekibinizin çok daha çevik olabileceği anlamına gelir.

3-Taşınabilirlik

    Docker Görüntüleri (yani bir Konteynerin planı) oluşturulduktan sonra değişmez olduğundan, bunları Docker’ı destekleyen herhangi bir ortama dağıtabilirsiniz ve tam olarak yerel makinenizde çalıştığı gibi çalışır. Bu, uygulamanızı Bulut sağlayıcılarına, şirket içi veya hibrit bir ortama sorunsuz bir şekilde entegre edebileceğiniz anlamına gelir.

4-Yeterlilik

    Kapsayıcılar, ana bilgisayar işletim sistemi çekirdeğinin kaynaklarını paylaştığından, sanal makinelerin aksine birden çok kapsayıcıyı çalıştırmak için çok daha az kaynak gerekir. Böylece, donanım kaynak kullanımı çok daha verimlidir.

 5-Yatay Ölçeklenebilirlik

Sisteminizi kapsayıcılar kullanarak tasarlamanın başlıca faydalarından biri, sistem bileşenlerinizin varsayılan olarak yalıtılmış olmasıdır. Sistem bileşenleriniz arasında yalıtım/gevşek bağlantı olması, bunları bağımsız olarak geliştirip dağıtabileceğiniz anlamına gelir. Bazı bileşenler diğerlerinden daha fazla yüke sahipse, basitçe, daha fazla makine ekleyin, daha fazla konteyner çalıştırın ve ölçeği genişletmek için bunları dengeleyin.

    *** Google, Netflix, Uber vb. devler bu şekilde sınırsız ölçeklenebilirlik elde edebilmekte. ***

6-Teknoloji Yığını Özgürlüğü

Docker, Container’larınızda hangi dili, kitaplığı veya frameworku kullandığınızı umursamaz veya kısıtlamaz. Böylece geliştirici olarak siz, seçtiğiniz araç ve frameworkler ile yenilik yapabilirsiniz.

7-Açık Kaynak ve Topluluk Desteği

Açık kaynak ve kullanımı kolay olması, Docker’ın geniş çapta benimsenmesini sağlayarak işbirliği ve topluluk desteği getirdi.

*** Konteynerler harika olsa da, her çözüme uyum sağlayamazlar. Birkaç kapsayıcı aynı ana makinede çalıştığından ve donanımı sanallaştırmadığından, VM’lere kıyasla daha düşük düzeyde yalıtım sağlarlar. Bu, önemli bir husus olabilecek bazı niş projelerde güvenlik veya uyumluluk sorunlarına yol açabilir. ***

İlginizi Çekebilecek Makaleler​

LLM (Large Language Models) Nedir?

Günümüzde yapay zeka ve makine öğrenmesi, teknolojinin birçok alanında devrim niteliğinde ilerlemeler kaydetmiştir. Bu ilerlemelerin merkezinde yer alan büyük dil modelleri (LLM – Large Language

Devamı »
Message Broker Nedir?

Message broker, birçok farklı uygulama veya sistem arasında iletişim kurmak için kullanılan bir yazılım aracıdır. Bu araç, bir uygulama tarafından gönderilen mesajları bir veya daha

Devamı »
Loglama Nedir?

Loglama, bilgisayar sistemlerindeki olayları, hataları ve diğer önemli durumları kaydetme işlemidir. Bu kayıtlar, sistem yöneticileri ve geliştiriciler tarafından, sistemlerin işleyişini anlamak, hataları tespit etmek ve

Devamı »
Vcenter Üzerinden ESXI Upgrade’i Nasıl Yapılır?

Öncelikle herkese merhaba arkadaşlar, sizlere Vcenter üzerinde ESXI hostunuzu nasıl upgrade edeceğinizi anlatacağım. Öncelikle hangi versiyona yükselteceksek o versiyonun ISO dosyasını indiriyoruz. Ardından Vcenter’ımızı açıyoruz.

Devamı »