Docher
Docher software | |
---|---|
Tip | Virtualizare la nivel de sistem de operare (nu este listată ) |
Dezvoltator | Docker, Inc. |
Data primei versiuni | 13 martie 2013 |
Ultima versiune | 20.10.7 (2 iunie 2021) |
Sistem de operare | Linux Multiplatform |
Limba | Merge |
Licență | Apache 2.0 și licență de proprietate ( licență gratuită ) |
Site-ul web | www.docker.com |
Docker este un proiect open-source care automatizează procesul de implementare a aplicațiilor în containerele software, oferind abstracție suplimentară prin virtualizarea la nivel de sistem de operare Linux . [1]
Descriere
Docker folosește caracteristici de izolare a resurselor kernel-ului Linux , cum ar fi cgroup-urile și spațiile de nume, pentru a permite „containerelor” independente să coexiste pe aceeași instanță Linux, evitând instalarea și întreținerea unei mașini virtuale . [2]
Spațiile de nume kernel Linux [3] izolează în mare măsură ceea ce aplicația poate vedea din mediul de operare, inclusiv arborele procesului, rețeaua, ID-urile de utilizator și sistemele de fișiere montate, în timp ce grupurile c asigură izolarea resurselor, inclusiv CPU, memorie, blocarea dispozitivelor I / O și rețea. Începând cu versiunea 0.9, Docker include biblioteca libcontainer pentru a putea utiliza direct caracteristicile de virtualizare ale kernel-ului Linux, pe lângă interfețele de virtualizare abstracte precum libvirt, LXC și systemd-nspawn. [4] [5] [6]
Potrivit firmei de analize industriale 451 Research , „Docker este un instrument care poate împacheta o aplicație și dependențele acesteia într-un container virtual care poate rula pe orice server Linux”. [7]
Funcționalitate
Docker implementează API - uri de nivel înalt pentru a gestiona containerele care rulează procese în medii izolate. [8] Deoarece folosește unele caracteristici ale kernel-ului Linux (în principal cgroupuri și spații de nume), un container Docker, spre deosebire de o mașină virtuală, nu include un sistem de operare separat. [7] În schimb, folosește funcționalitatea nucleului și utilizează izolarea resurselor (CPU, memorie, I / O bloc, rețea) și spații de nume separate pentru a izola ceea ce aplicația poate vedea despre sistemul de operare. Docker accesează capabilitățile de virtualizare ale kernel-ului Linux fie direct utilizând biblioteca libcontainer , care este disponibilă de la Docker 0.9, fie indirect prin libvirt , LXC sau systemd-nspawn . [6] [9]
Utilizând containere, resursele pot fi izolate, serviciile limitate și procesele începute, astfel încât să aveți o perspectivă complet privată a sistemului de operare, cu propriul identificator, sistemul de fișiere și interfața de rețea. Containere multiple au același nucleu, dar fiecare dintre ele poate fi forțat să utilizeze o anumită cantitate de resurse, cum ar fi CPU, memorie și I / O.
Utilizarea Docker pentru a crea și gestiona containere poate simplifica crearea de sisteme distribuite , permițând aplicațiilor sau proceselor diferite să funcționeze autonom pe aceeași mașină fizică sau pe mașini virtuale diferite. Acest lucru permite implementarea de noi noduri numai atunci când este necesar, permițând o platformă ca serviciu (PaaS) stil de dezvoltare pentru sisteme precum Apache Cassandra , MongoDB sau Riak . Docker simplifică, de asemenea, crearea și gestionarea cozilor de locuri de muncă în sistemele distribuite. [10] [11]
Integrare
Docker poate fi integrat în diverse infrastructuri, inclusiv Amazon Web Services , [12] Ansible , [13] Boinc , CFEngine , [14] Chef , [15] Google Cloud Platform , [16] IBM Bluemix , [17] Jelastic , [18] ] Jenkins , [19] Microsoft Azure , [20] , NoMachine [21] , OpenStack Nova, [22] OpenSVC , [23] Puppet , [24] Salt , [25] și Vagrant . [26]
Orchestrarea
Pentru a face mai multe containere Docker să interacționeze între ele, se utilizează deseori software de orchestrație , cum ar fi Docker Swarm sau Kubernetes .
Tehnologie
Docker a fost dezvoltat inițial pentru Linux , unde folosește caracteristici de izolare a resurselor Linux (kernel) , precum spațiul de nume cgroup și kernel , precum și un sistem de fișiere compatibil, cum ar fi OverlayFS și altele, astfel încât să permită rularea „containerelor independente” folosind o singură instanță Linux. , evitând cheltuielile generale legate de pornirea și utilizarea mașinii virtuale . [ fără sursă ]
Istorie
Solomon Hykes a creat Docker ca proiect intern al dotCloud, o platformă ca companie de servicii , [27] datorită muncii altor ingineri dotCloud, inclusiv Andrea Luzzardi și Francois-Xavier Bourlet. Jeff Lindsay a fost implicat în proiect ca colaborator extern. Docker reprezintă evoluția tehnologiei brevetate dotCloud, creată la rândul său datorită software-ului open-source anterior, cum ar fi Cloudlets .
Docker a fost lansat ca open source în martie 2013. [8] La 13 martie 2014, odată cu lansarea versiunii 0.9, Docker nu mai folosește LXC ca mediu de execuție implicit, înlocuit de propria bibliotecă libcontainer scrisă în limbajul de programare Go . [4] [9] Începând cu 13 aprilie 2015, proiectul avea peste 20.700 de stele pe GitHub . devenind cel de-al 20-lea cel mai urmărit proiect pe GitHub, peste 4 700 de furci și aproape 900 de colaboratori. [28]
Cercetările din mai 2015 au arătat că următoarele organizații contribuie major la dezvoltarea Docker: Red Hat (contribuitor major, chiar mai mult decât echipa Docker în sine), echipa Docker, IBM , Google , Cisco Systems și Amadeus IT Group . [29]
Colaborări
- La 23 iulie 2013, dotCloud Inc., entitatea de afaceri din spatele Docker, a anunțat că fostul Gluster și directorul general al Plaxo , Ben Golub, se vor alătura companiei, citând Docker drept principalul obiectiv al companiei. [30]
- La 19 septembrie 2013, Red Hat și Docker au anunțat o colaborare majoră în Fedora , Red Hat Enterprise Linux și OpenShift . [31]
- Pe 22 ianuarie 2014, Docker a anunțat că a finalizat un capital de risc Seria B de 15 milioane de dolari, condus de Greylock Partners. [32]
- La 23 iulie 2014, Docker a cumpărat Orchard, creatorii Fig. [33]
- Pe 16 septembrie 2014, Docker a anunțat că a finalizat un capital de risc Seria C de 40 de milioane de dolari, condus de Sequoia Capital. [34]
- Pe 15 octombrie 2014, Microsoft a anunțat integrarea Docker în următoarea versiune (2016) a Windows Server și asistență nativă pentru clientul Docker pe Windows. [35] [36]
- La 4 decembrie 2014, IBM a anunțat un parteneriat strategic cu Docker pentru a permite companiilor să creeze următoarea generație de aplicații pe IBM Cloud mai eficient, rapid și eficient din punct de vedere al costurilor. [37]
- Pe 22 iunie 2015, s-a anunțat că Docker, CoreOS, IBM , Google, Microsoft, Amazon și alte companii lucrează la un nou standard pentru containerele software independente de sistemul de operare. [38]
Notă
- ^ Maureen O'Gara, Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud , at maureenogara.sys-con.com , SYS-CON Media, 26 iulie 2013. Accesat pe 9 august 2013 .
- ^ Docker Documentation: Kernel Requirements , la docker.readthedocs.org , 4 ianuarie 2014. Accesat la 20 august 2014 (arhivat din original la 21 august 2014) .
- ^ Dan Walsh, încă un alt motiv pentru care containerele nu conțin: Kernel Keyrings , la projectatomic.io . Adus la 13 aprilie 2015 .
- ^ a b Steven J. Vaughan-Nichols, Docker libcontainer unifică puterile containerelor Linux , la zdnet.com , ZDNet , 11 iunie 2014. Accesat la 30 iulie 2014 .
- ^ libcontainer - implementare de referință pentru containere , pe github.com . Adus la 30 iulie 2014 .
- ^ a b c Docker 0.9: Introducerea driverelor de execuție și libcontainer , pe docker.com , 10 martie 2014. Accesat la 20 ianuarie 2015 .
- ^ a b Katherine Noyes, Docker: A 'Shipping Container' pentru Linux Code , la linux.com , Linux.com , 1 august 2013. Accesat la 9 august 2013 (arhivat din original la 8 august 2013) .
- ^ a b Abel Avram, Docker: Implementări automate și consistente de software , la infoq.com , InfoQ, 27 martie 2013. Accesat pe 9 august 2013 .
- ^ a b Chris Swan, Docker renunță la LXC ca mediu de execuție implicit , la infoq.com , InfoQ, 13 martie 2014. Adus pe 20 ianuarie 2015 .
- ^ Adron Hall, OSCON: Conversații, implementări, arhitectură, Docker și viitorul? , la cloudave.com , CloudAve, 31 iulie 2013. Adus pe 9 august 2013 .
- ^ Travis Reeder, Cum Docker ne-a ajutat să realizăm imposibilul (aproape) imposibil , blog.iron.io , Iron.io, 22 aprilie 2014. Accesat la 25 iulie 2014 (arhivat din original la 8 august 2014) .
- ^ Amazon EC2 - Documentație Docker , la docs.docker.com . Adus la 18 octombrie 2014 (arhivat din original la 18 octombrie 2014) .
- ^ /, ansible / library / cloud / docker , pe github.com , GitHub . Adus la 20 ianuarie 2014 (arhivat din original la 27 decembrie 2013) .
- ^ CFEngine , la docs.docker.com , CFEngine. Adus la 6 iunie 2014 (arhivat din original la 13 iunie 2014) .
- ^ thoward / docker-cookbook , pe github.com , GitHub. Adus la 20 ianuarie 2014 .
- ^ Containere pe Google Cloud Platform , pe cloud.google.com , Google Inc.
- ^ Bluemix lansează IBM Containers Beta Bazat pe Docker , la developer.ibm.com , IBM, 4 decembrie 2014. Adus pe 20 aprilie 2015 .
- ^ Jelastic anunță integrarea Docker pentru a furniza cea mai avansată livrare de aplicații orchestrate , pe prweb.com , PRWeb . Adus pe 3 decembrie 2014 .
- ^ georgebashi / jenkins-docker-plugin , pe github.com , GitHub. Adus la 20 ianuarie 2014 .
- ^ Iată cum Microsoft acceptă modelul de container open-source Docker , pe ZDNet , 10 iunie 2014. Adus 16 octombrie 2014 .
- ^ Cum se execută serverul NoMachine v. 4 în Docker , pe nomachine.com . Adus la 22 octombrie 2020 .
- ^ Stefano Maffulli, 7 iunie 2013, OpenStack Community Weekly Newsletter (31 mai - 7 iunie) »Blogul OpenStack , pe openstack.org . Adus la 20 ianuarie 2014 (arhivat din original la 29 decembrie 2013) .
- ^ OpenSVC Docker , la docs.opensvc.com , OpenSVC. Adus pe 29 mai 2014 (arhivat din original la 31 mai 2014) .
- ^ Gareth Rushgrove, garethr / docker , la forge.puppetlabs.com , Puppet Forge. Adus la 20 ianuarie 2014 .
- ^ saltstack / dockerio , la docs.saltstack.com . Adus la 20 ianuarie 2014 (arhivat din original la 3 februarie 2014) .
- ^ philspitler / vagrant-docker , pe github.com , GitHub. Adus la 20 ianuarie 2014 (arhivat din original la 9 august 2013) .
- ^ O singură casă pentru toate aplicațiile dvs. , la dotcloud.com , dotCloud. Adus la 8 mai 2014 (arhivat din original la 17 mai 2014) .
- ^ dotcloud / docker , pe github.com , GitHub. Adus la 13 aprilie 2015 .
- ^ Uită-te cine ajută la construirea Docker - în afară de Docker în sine . Infoworld.com , InfoWorld, 27 mai 2015.
- ^ Barb Darrow, pionierul PaaS dotCloud devine noul CEO al veterinarului industrial Ben Golub , la gigaom.com , GigaOM, 23 iulie 2013. Adus pe 9 august 2013 .
- ^ DotCloud pivotează și câștigă cu Docker, serviciul Cloud face acum parte din Red Hat OpenShift , techcrunch.com , TechCrunch , 19 septembrie 2013. Adus pe 20 ianuarie 2014 .
- ^ Jordan Novet, pariul open-source al lui Docker plătește cu runda de 15 milioane de dolari , la venturebeat.com , VentureBeat, 21 ianuarie 2014. Adus 22 ianuarie 2014 .
- ^ Ben Kepes, Docker își face mișcarea, achiziționează livada într-un semn al lucrurilor viitoare , forbes.com , Forbes, 23 iulie 2014. Adus 23 iulie 2014 .
- ^ Jack Clark și Peter Burrows, Docker a declarat că vor fi evaluate la 400 de milioane de dolari în runda de finanțare . Businessweek.com , Bloomberg, 16 septembrie 2014. Accesat la 16 septembrie 2014 .
- ^ Mary Jo Foley, suport pentru containere Docker care vine la următoarea versiune Microsoft Windows Server , la zdnet.com , ZDNet , 15 octombrie 2014. Adus 16 octombrie 2014 .
- ^ Scott Guthrie, Docker și Microsoft: Integrarea Docker cu Windows Server și Microsoft Azure , la weblogs.asp.net , Microsoft, 15 octombrie 2014. Accesat 12 ianuarie 2015 .
- ^ IBM și Docker anunță un parteneriat strategic pentru a livra aplicații pentru întreprinderi în cloud și On Prem , la www-03.ibm.com , IBM , 4 decembrie 2014. Accesat la 20 aprilie 2015 .
- ^ Docker, CoreOS, Google, Microsoft, Amazon și alții vin împreună pentru a dezvolta Common Container Standard , la techcrunch.com , TechCrunch , 22 iunie 2015. Adus 22 iunie 2015 .
Alte proiecte
- Wikimedia Commons conține imagini sau alte fișiere pe Docker
linkuri externe
- ( RO ) Site oficial , la docker.com .
- Docker (canal), pe YouTube .
- (RO) Docker , pe GitHub .
- Depozitul sursă Docker , la github.com .
- ( RO ) Site de raportare a erorilor , pe github.com .
- (EN) Docker , din Directorul de software gratuit .
- ( RO ) Depozit Libcontainer , la github.com .
- ( RO ) Tutorial Docker 101 , pe youtube.com .
- (EN)Linux Containers și viitorul cloud Rami Rosen