Docker Nedir?
Buradasınız: Anasayfa / Blog
3 Ağustos 2022, Çarşamba | Okunma Sayısı: 107
Docker Nedir?
Docker, ortak araçlardan oluşan bir ekosistemle ortak bir işletim sistemi (OS) üzerinde sanallaştırılmış uygulama kapsayıcıları oluşturmaya, dağıtmaya ve yönetmeye yönelik açık kaynaklı bir yazılım platformudur.
Docker Nedir?

Docker, ortak araçlardan oluşan bir ekosistemle ortak bir işletim sistemi (OS) üzerinde sanallaştırılmış uygulama kapsayıcıları oluşturmaya, dağıtmaya ve yönetmeye yönelik açık kaynaklı bir yazılım platformudur. Docker teknolojisi 2013'te piyasaya çıktı. Docker Inc., kapsayıcı yönetim yazılımının ticari bir sürümünü desteklemek ve açık kaynak sürümünün ana sponsoru olmak için kuruldu. Mirantis, Docker Enterprise firmasını Kasım 2019'da satın aldı.

Docker Ne Demek?

Docker, uygulamaların yönetme, oluşturma, çalıştırma ve dağıtma aşamasını basitleştirmeye destek olan açık kaynaklı bir yazılım platformudur. Şimdiye dek yedi milyondan fazla uygulama için kullanılmıştır. Kuru olduğu bilgisayarın işletim sistemini sanallaştırır ve uygulama katmanın bir soyutlama meydana getirir. Bu sayede uygulamalarınızı altyapıdan ayırmaya izin verir.

2008 senesinde Solomon Hykes’ın kurmuş olduğu Docker, ilk defa 2013 Mart ayında PyCon’da tanıtılmıştır. Red Hat, IBM ve Microsoft gibi dev isimlerin yanı sıra yenilikçi teknolojileri desteklemek isteyenlerin hızlı bir şekilde dikkatini çekmiştir.

Container’lara dayalı çeşitli uygulamalar oluşturmayı sağlayan, tamamen ücretsiz ve açık kaynaklı bir platformdur. Ticari versiyonunu satan firma Docker Inc’dir. Bu alanda Podman gibi çeşitli alternatifler bulunsa da Docker hala liderdir.

Docker ve Container Nedir?

Docker Container teknolojisi nedir? Bu teknoloji, daha çok bulut bilişimde tercih edilen ve VM gereksinimlerine ihtiyaç olmadan farklı işletim sistemi platformlarında çeşitli uygulamaları çalıştırmak için geliştirilmiş, bir tür sanallaştırma platformu olmaktadır. Özellikle de test aşamasında yazılım geliştirmenin bazı aşamalarını kolaylaştırmak maksadıyla kullanılmakladır. Container’lar esasen uygulamaların kolay ve tek tip dağıtılmasına olanak tanımaktadır. Herhangi bir işletim sisteminde kolaylıkla kullanılabilirler.

Docker Nasıl Çalışır?

Docker Nasıl Çalışır?

Docker nasıl çalışır? Her kapsayıcı, temel alınan bir işletim sisteminin hizmetlerini paylaşır. Docker görüntüleri, bir kapsayıcı içinde kod çalıştırmak için gereken tüm bağımlılıkları içerir. Böylece aynı işletim sistemine sahip Docker ortamları arasında taşınan kapsayıcılar değişiklik olmadan çalışır.

Docker, aynı işletim sisteminde birden çok kapsayıcı çalıştırmak için işletim sistemi çekirdeğindeki kaynak yalıtımını kullanır. Bu, tüm işletim sistemini soyut bir fiziksel donanım kaynakları katmanının üzerinde yürütülebilir kodla kaplayan sanal makinelerden (VM'ler) farklıdır.

Docker, Linux platformunda çalışacak şekilde oluşturuldu, ancak Microsoft Windows ve Apple OS X dahil olmak üzere Linux dışı işletim sistemlerine daha fazla destek sağlayacak şekilde genişletildi. Docker'ın sürümleri Amazon Web Services (AWS) ve Microsoft Azure için mevcuttur.

Docker Bileşenleri ve Araçları

Docker bileşenleri ve araçları nelerdir? Docker Community Edition açık kaynaktır. Docker Enterprise Edition ise Docker Inc tarafından sunulan ticari bir sürümdür. Docker, kapsayıcıların oluşturulmasına, doğrulanmasına ve yönetilmesine yardımcı olan çeşitli bileşenlerden ve araçlardan meydana gelir.

Docker Engine, kapsayıcı tabanlı uygulamalar oluşturmaya dahil olan görevleri ve iş akışlarını yöneten temel teknolojidir. Motor, görüntüleri, kapsayıcıları, ağları ve depolama birimlerini barındıran bir sunucu tarafı arka plan programı işlemi oluşturur. Daemon ayrıca, kullanıcıların Docker uygulama programlama arabirimi aracılığıyla arka plan programıyla etkileşim kurmaları için bir istemci tarafı komut satırı arabirimi (CLI) sağlar. Docker tarafından oluşturulan kapsayıcılara Dockerfiles denir. Docker Compose dosyaları, bir Docker kapsayıcısındaki bileşenlerin bileşimini tanımlar.

Docker Hub, kullanıcıların kapsayıcı tabanlı uygulamaları ortak bir kitaplık aracılığıyla yayınlamasına ve paylaşmasına olanak tanıyan bir hizmet olarak yazılım aracıdır. Hizmet, halka açık 100.000'den fazla uygulamanın yanı sıra genel ve özel kapsayıcı kayıtlarını desteklemektedir. Hub gibi, Trusted Registry de kapsayıcı görüntülerinin depolanması ve dağıtımı üzerinde ek bir kontrol ve sahiplik katmanına sahip bir havuzdur.

Docker Engine'deki Docker sürü modu, Docker için küme yük dengelemeyi destekler. Birden çok Docker ana bilgisayar kaynağı, tek olarak hareket etmek üzere bir havuzda toplanır ve kullanıcıların kapsayıcı dağıtımlarını birden çok ana bilgisayara hızla ölçeklendirmesine olanak tanır. Universal Control Plane, web tabanlı, birleşik bir küme ve uygulama yönetimi arabirimidir.

Compose, çok kapsayıcılı uygulama hizmetlerini yapılandırmaya, kapsayıcı durumlarını görüntülemeye, günlük çıktısını akışa almaya ve tek eşgörünümlü işlemleri çalıştırmaya yönelik bir araçtır. Content Trust, kullanıcı imzaları ve görüntü etiketleri aracılığıyla uzak Docker kayıtlarının bütünlüğünü doğrulamaya yönelik bir güvenlik aracıdır.

Docker Sürümleri ve Ana Özellikleri

Docker sürümleri ve ana özellikleri neler? Ocak 2017'de yayımlanan Docker Enterprise 1.13, eski Docker arka plan programlarını işlemek için komut satırı arabirimi (CLI) için geriye dönük uyumluluk ve disk alanını ve verileri daha verimli bir şekilde yönetmek için çeşitli temizleme komutlarının yanı sıra bazı güvenlik ve hata düzeltmeleri ekledi. 2017'de Docker Enterprise'da yapılan diğer geliştirmeler arasında Docker sürü moduna ek olarak kapsayıcı düzenlemesi için yerel Kubernetes desteği ve kullanıcıların birden çok işletim sisteminde karma uygulamaları ve kümeleri çalıştırması için IBM anabilgisayar ve Windows Server 2016 desteği.

Nisan 2018'de piyasaya sürülen Docker Enterprise Edition 2.0, birden çok işletim sistemi ve hibrit ortamlar için birden çok bulut desteği içeriyordu. Temmuz 2019'daki en son sürüm olan Docker Enterprise 3.0, mavi-yeşil kapsayıcı kümelerine güncellemeler ve herhangi bir ortamdan çalışan kapsayıcı tabanlı çoklu hizmet uygulamaları oluşturma yeteneğine sahipti. Diğer yeni özellikler şunları içerir:

  • Geliştiricilerin, otomatikleştirilmiş işlem hattı entegrasyonu ve merkezi BT yönetimi ile Kubernetes'i tanıyan bir ortamda uygulamaları dağıtmalarını sağlayan Docker Desktop Enterprise,
  • Bir geliştirici üretkenlik araçları paketi olan Docker Applications,
  • Kubernetes tabanlı uygulamaların yönetimini ve ölçeğini otomatikleştiren ve güvenlik, erişim kontrolü ve otomatik yaşam döngüsü yönetimi sağlayan Docker Kubernetes Hizmeti,
  • Docker Enterprise as a Service, tam olarak yönetilen bir kurumsal kapsayıcı hizmeti.

Docker'ın Avantajları ve Dezavantajları

Docker avantajları ve dezavantajları da merak ediliyor. Docker, Docker ana bilgisayarlarında kapsayıcıları hızlı bir şekilde oluşturmak, dağıtmak, ölçeklendirmek ve izlemek için fiili standart bir platform olarak ortaya çıktı. Docker, kullanıcıların genel ve özel ortamlarda birden çok ana bilgisayar arasında kapsayıcıları kaydedip paylaşabilmeleri için yüksek derecede taşınabilirlik sağlar. Docker'ın faydaları arasında verimli uygulama geliştirme, daha düşük kaynak kullanımı ve sanal makinelere kıyasla daha hızlı dağıtım yer alır.

Docker ile ilgili potansiyel zorluklar da vardır. Bir kuruluştaki çok sayıda olası kapsayıcıyı verimli bir şekilde yönetmek zor olabilir. Kapsayıcıların kullanımı, ayrıntılı sanal barındırmadan uygulama bileşenlerinin ve kaynaklarının düzenlenmesine doğru evrilirken, yüzlerce geçici kapsayıcıyı içerebilen bileşenli uygulamaların dağıtımı ve ara bağlantısı büyük bir engeldir. Son yıllarda, konteyner düzenlemesi için Docker'ın yerini Kubernetes aldı; ancak çoğu Kubernetes teklifi, Docker'ı arka planda çalıştırır.

Docker Güvenliği

Docker Güvenliği

Docker güvenliği hususuna da değinmek gerekir. Kapsayıcılar ve buna bağlı olarak Docker ile ilgili tarihsel olarak kalıcı bir sorun güvenliktir. Mükemmel mantıksal izolasyona rağmen, kapsayıcılar hala ana bilgisayar işletim sistemini paylaşır. Temel işletim sistemindeki bir saldırı veya kusur, işletim sisteminin üzerinde çalışan tüm kapsayıcıları tehlikeye atabilir. Güvenlik açıkları, erişim ve yetkilendirme, kapsayıcı görüntüleri ve kapsayıcılar arası ağ trafiğini içerebilir. Docker görüntüleri, varsayılan olarak ana bilgisayara kök erişimini koruyabilir, ancak bu genellikle üçüncü taraf satıcı paketlerinden taşınır.

Docker, görüntü tarama, güvenli düğüm tanıtımı, kriptografik düğüm kimliği, küme dilimleme ve güvenli gizli dağıtım gibi Docker platformuna düzenli olarak güvenlik geliştirmeleri eklemiştir. Docker gizli yönetimi, D2iQ, CISOfy Lynis ve HashiCorp Vault'un yanı sıra Kubernetes'te de mevcuttur. Aqua, Twistlock, NeuVector ve diğerlerinden çeşitli konteyner güvenlik tarama araçları türetilmiştir.

Bazı kuruluşlar, kapsayıcıları sanal makineler gerektirmese de bir sanal makine içinde çalıştırır. Bu, kaynak paylaşımı sorunu vektörünü çözmez, ancak bir güvenlik açığının olası etkisini azaltır. Diğer bir alternatif, tipik bir VM ile aynı ek yükü gerektirmeyen düşük profilli veya "mikro" VM'ler kullanmaktır. Örnekler gVisor, Kata Containers ve Amazon Firecracker’ı içerir. Genel olarak, kapsayıcı güvenliğini sağlamak için en yaygın ve önerilen adım, kapsayıcı ana bilgisayarlarını internete maruz bırakmamak ve yalnızca bilinen kaynaklardan gelen kapsayıcı görüntülerini kullanmaktır.

Güvenlik aynı zamanda Docker alternatifleri, özellikle de CoreOS rkt için ana satış noktasıydı. Ancak Docker, güvenlik seçeneklerini iyileştirmede çok ilerleme kaydederken, ek olarak bu konteyner alternatiflerinin ivmesi de azaldı.

Docker Alternatifleri, Ekosistem ve Standardizasyon

Docker alternatifleri nelerdir? Kapsayıcı yönetimi ve kümeleme gibi görevler için Docker ile çalışan üçüncü taraf araçlar vardır. Docker ekosistemi, açık kaynak Kubernetes, Red Hat'in tescilli Kubernetes OpenShift paketi gibi tescilli ve açık kaynak teknolojilerinin bir karışımını içerir. Docker, VMware vApp gibi tescilli uygulama kapsayıcıları ve Chef gibi altyapı soyutlama araçlarıyla rekabet eder.

Docker, mevcut tek konteyner platformu değil, ancak konteyner pazarının büyük çoğunluğuna sahip. CoreOS rkt, SELinux desteği ve güvenilir platform yönetimi ile dikkat çekiyor. Red Hat CoreOS'u satın aldı ve işlevselliğini OpenShift mimarisine entegre etti. Ancak, rkt artık Cloud Native Computing Foundation'da arşivlenmiş bir projedir.

Diğer büyük konteyner platformları arasında Canonical'dan LXD ve sistemin konteyner platformlarının en eskisi olan ve orijinal olarak Virtuozzo tarafından geliştirilen OpenVZ bulunur. OpenVZ, standart konteynerlerin küçük boyutu ve yüksek hızını, soyutlanmış bir işletim sistemi katmanının ek güvenliği ile birleştirir.

Docker ayrıca konteyner paketleme ve dağıtımını daha resmi bir şekilde standartlaştırma girişiminde liderlik rolü oynadı. Bu, ortak bir konteyner formatı ve çalışma zamanı ortamını teşvik etmek için kurulan Açık Konteyner Girişimi olarak bilinir. Diğer üyeler arasında CoreOS, AWS, Intel, Red Hat ve Virtuozzo dahil olmak üzere 40'tan fazla konteyner endüstrisi satıcısı yer alıyor.

Son olarak, Windows Server 2019 ve Windows 10, Docker teknolojisine dayalı Windows kapsayıcı özelliğini kullanan kapsayıcılar için doğrudan destek sunar.

Docker Tarihçesi

Docker ilk olarak Mart 2013'te dotCloud adı altında açık kaynaklı bir platform olarak piyasaya sürüldü. Docker Engine 1.0, 2014'te piyasaya giriş yaptı. 2016'da Docker, sürü düzenlemesini 1.12 sürümünde Docker Engine ile entegre etti. Docker'ın daha geniş hedefi, işini bir hizmet olarak konteynerlerle kurmaktı, ancak nihayetinde bu planlar Kubernetes'in yükselişiyle geride kaldı.

Docker Enterprise, Mart 2017'de tanıtıldı ve şirket ayrıca kapsayıcılı çalışma zamanı yardımcı programını Cloud Native Computing Foundation'a bağışladı.

Mirantis, Kasım 2019'da Docker Engine - Enterprise, Docker Trusted Registry, Docker Universal Control Plane ve Docker CLI'nin yanı sıra ticari Docker Swarm ürününün etrafındaki Docker ve IP ürünlerini satın aldı. Mirantis başlangıçta odağını Kubernetes'e kaydıracağını ve sonunda Docker Swarm desteğini sonlandıracağını belirtti, ancak daha sonra bunun için yeni özellikler destekleme ve geliştirme niyetini yeniden doğruladı. Docker Inc.'in geri kalan işi artık Docker Desktop'a ve Docker Hub'a odaklanmış durumda.

Etiketler
docker nedir
Docker ve Container Nedir?
Docker Nasıl Çalışır?
Docker Bileşenleri ve Araçları
Docker'ın Avantajları ve Dezavantajları
Docker Güvenliği
Detaylı Bilgi İçin Bizi Arayın