yaratıcı | Süleyman Hikes |
---|---|
tarafından geliştirildi | Docker, Inc., ( içinde ) |
Son sürüm | 20.10.7 (2 Haziran 2021) |
Depozito | github.com/moby/moby |
Proje durumu | aktif geliştirmede |
Yazılmış | Git |
İşletim sistemi | Linux , Microsoft Windows , macOS ve Unix türü |
Çevre | Çoklu platform |
Tür | Konteyner |
dağıtım politikası | Bedava |
Lisans | Apache lisansı sürüm 2.0 ve özel lisans |
İnternet sitesi | www.docker.com |
Docker , yazılım kapsayıcılarında uygulamaları başlatmak için ücretsiz bir yazılımdır .
Endüstri araştırma firması 451 Research'e göre , "Docker, bir uygulamayı ve bağımlılıklarını herhangi bir sunucuda çalıştırılabilen yalıtılmış bir kapsayıcıda paketleyebilen bir araçtır." Bu ilgili değil sanallaştırma ama containerization , çalışması için ana makinede belli kısımlarında dayanan bir çakmak formu. Bu yaklaşım , yerel makinede, özel veya genel bulutta, çıplak makinede vb. çok çeşitli ana makinelerde güvenilir ve tahmin edilebilir bir şekilde çalışabilecek bir uygulamanın çalıştırılmasının esnekliğini ve taşınabilirliğini artırır .
Teknik olarak Docker, standart Linux kapsayıcı biçimi olan LXC'yi , süreçleri yalıtılmış olarak çalıştıran uygun bir sanallaştırma çözümü sağlayan üst düzey bir API ile genişletir . Docker, hedeflerine ulaşmak için diğerlerinin yanı sıra LXC, cgroups ve Linux çekirdeğinin kendisini kullanır . Geleneksel sanal makinelerin aksine, bir Docker kapsayıcısı bir işletim sistemi içermez, bunun yerine ana makine tarafından sağlanan işletim sistemi işlevselliğine dayanır.
Docker'ın kapsayıcı teknolojisi, dağıtılmış sistemleri, tek bir fiziksel makineden veya düğüm başına tek bir örnekten bağımsız olarak çalışacak şekilde ölçeklendirmek için kullanılabilir. Bu, Apache Cassandra , Riak veya diğer dağıtılmış sistemler gibi sistemler için sorunsuz, PaaS benzeri dağıtım sağlayarak düğümlerin kaynaklar kullanılabilir hale geldikçe dağıtılmasına olanak tanır .
Docker, yüksek seviyeli bir API aracılığıyla yalıtılmış olarak çalışan kapsayıcıların uygulanmasına izin verir. Linux çekirdeğinin (özellikle grup ve ad alanları) yetenekleri üzerine inşa edilen bir Docker konteyneri, geleneksel sanal makinelerin aksine ayrı bir işletim sistemi gerektirmez veya sağlamaz. Bunun yerine, çekirdek işlevselliğine dayanır ve uygulama tarafından görüldüğü gibi işletim sistemini yalıtmak için kaynak yalıtımı (CPU, bellek, G/Ç ve ağ bağlantıları gibi) ve ayrı ad alanları kullanır. Docker, Linux çekirdeğinin sanallaştırma özelliklerine ya doğrudan runc kitaplığı (Docker 0.9'dan beri mevcuttur) aracılığıyla ya da dolaylı olarak libvirt, LXC (Linux Containers) veya systemd-nspawn aracılığıyla erişir.
Kapsayıcılar oluşturmak ve yönetmek için Docker'ı kullanmak , birden çok uygulamanın, arka plan görevinin ve diğer işlemlerin tek bir fiziksel makinede veya bir dizi yalıtılmış makinede bağımsız olarak çalışmasına izin vererek dağıtılmış sistemlerin uygulanmasını basitleştirebilir . Bu, düğümlerin isteğe bağlı kaynaklar olarak konuşlandırılmasına izin verir, böylece PAAS tarzı bir dağıtım platformu ve Apache Cassandra , MongoDB veya Riak gibi sistemlerin ölçeklenebilirliğini sağlamanın yanı sıra iş kuyruklarının ve diğer dağıtılmış sistemlerin oluşturulmasını ve bakımını basitleştirir.
Bir kapsayıcının amacı, sanal bir adanmış sunucu ile aynıdır: hizmetleri birbirinden izole ederken aynı fiziksel sunucuda barındırmak. Ancak, bir kapsayıcı, disk boyutu ve tahsis edilen kaynaklar açısından sanal bir makineden daha az dondurulur.
Her hizmeti izole etmek için bir kapsayıcı kullanılır: web sunucusu, veritabanı, yalnızca gerekli bağımlılıkları içeren özel kapsayıcılarında bağımsız olarak çalıştırılabilen uygulamalar. Her kapsayıcı, diğerlerine sanal ağlar aracılığıyla bağlanabilir. Ana makineden disk birimlerini bir kapsayıcıya monte etmek mümkündür. Konteynerde herhangi bir işlem başlatılmazsa, konteyner durur. Bazen OS sanallaştırma hakkında konuşmak: aksine sanallaştırma yazılımı fiziksel bir makinede farklı makineler öykünür konteynerizasyon tek OS üzerinde farklı işletim benzetilmiştir.
Docker , aynı zamanda dotCloud çalışanları olan Andrea Luzzardi ve Francois-Xavier Bourlet'in katkılarıyla , bir Fransız hizmet olarak platform şirketi olan dotCloud'un dahili bir projesi için Solomon Hykes tarafından geliştiriliyor . Docker, kendileri açık kaynaklı projelere dayanan tescilli dotCloud teknolojilerine dayanan bir evrimdir .
Docker, Mart 2013'ten itibaren açık kaynaklı bir proje olarak dağıtılmaktadır .
Şu anda en yaygın kullanılan konteynerleştirme motorudur. Docker'ın büyük bir avantajı, her bir kapsayıcıyı yerel olarak veya birçok görüntünün yayınlandığı ve düzenli olarak güncellendiği halka açık bir yer olan Docker Hub'da depolanabilen bir görüntü olarak modelleme yeteneğidir.
2019 yılında DockerCon 2019 konferansında Docker platformunun 3. versiyonu duyuruldu.Kasım 2019'da Docker şirketi "Docker Enterprise" ürününü Mirantis'e sattı ve yaklaşık 35 milyon dolar topladı.
Docker entegrasyonu aşağıdaki altyapı yönetim araçlarıyla yapıldı:
19 Eylül 2013'te Red Hat ve Docker, Fedora , Red Hat Enterprise Linux ve Openshift üzerinde bir işbirliği duyurdu . Mayıs 2015'te, bir NAS üreticisi olan Synology , Docker'ı dahili DSM v5.2 yazılımına entegre etti.