Docher

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Docher
software
Siglă
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 poate utiliza diferite interfețe pentru a accesa caracteristicile de virtualizare a kernel-ului Linux. [6]

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ă

  1. ^ 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 .
  2. ^ Docker Documentation: Kernel Requirements , la docker.readthedocs.org , 4 ianuarie 2014. Accesat la 20 august 2014 (arhivat din original la 21 august 2014) .
  3. ^ Dan Walsh, încă un alt motiv pentru care containerele nu conțin: Kernel Keyrings , la projectatomic.io . Adus la 13 aprilie 2015 .
  4. ^ a b Steven J. Vaughan-Nichols, Docker libcontainer unifică puterile containerelor Linux , la zdnet.com , ZDNet , 11 iunie 2014. Accesat la 30 iulie 2014 .
  5. ^ libcontainer - implementare de referință pentru containere , pe github.com . Adus la 30 iulie 2014 .
  6. ^ a b c Docker 0.9: Introducerea driverelor de execuție și libcontainer , pe docker.com , 10 martie 2014. Accesat la 20 ianuarie 2015 .
  7. ^ 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) .
  8. ^ a b Abel Avram, Docker: Implementări automate și consistente de software , la infoq.com , InfoQ, 27 martie 2013. Accesat pe 9 august 2013 .
  9. ^ 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 .
  10. ^ Adron Hall, OSCON: Conversații, implementări, arhitectură, Docker și viitorul? , la cloudave.com , CloudAve, 31 iulie 2013. Adus pe 9 august 2013 .
  11. ^ 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) .
  12. ^ Amazon EC2 - Documentație Docker , la docs.docker.com . Adus la 18 octombrie 2014 (arhivat din original la 18 octombrie 2014) .
  13. ^ /, ansible / library / cloud / docker , pe github.com , GitHub . Adus la 20 ianuarie 2014 (arhivat din original la 27 decembrie 2013) .
  14. ^ CFEngine , la docs.docker.com , CFEngine. Adus la 6 iunie 2014 (arhivat din original la 13 iunie 2014) .
  15. ^ thoward / docker-cookbook , pe github.com , GitHub. Adus la 20 ianuarie 2014 .
  16. ^ Containere pe Google Cloud Platform , pe cloud.google.com , Google Inc.
  17. ^ Bluemix lansează IBM Containers Beta Bazat pe Docker , la developer.ibm.com , IBM, 4 decembrie 2014. Adus pe 20 aprilie 2015 .
  18. ^ Jelastic anunță integrarea Docker pentru a furniza cea mai avansată livrare de aplicații orchestrate , pe prweb.com , PRWeb . Adus pe 3 decembrie 2014 .
  19. ^ georgebashi / jenkins-docker-plugin , pe github.com , GitHub. Adus la 20 ianuarie 2014 .
  20. ^ Iată cum Microsoft acceptă modelul de container open-source Docker , pe ZDNet , 10 iunie 2014. Adus 16 octombrie 2014 .
  21. ^ Cum se execută serverul NoMachine v. 4 în Docker , pe nomachine.com . Adus la 22 octombrie 2020 .
  22. ^ 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) .
  23. ^ OpenSVC Docker , la docs.opensvc.com , OpenSVC. Adus pe 29 mai 2014 (arhivat din original la 31 mai 2014) .
  24. ^ Gareth Rushgrove, garethr / docker , la forge.puppetlabs.com , Puppet Forge. Adus la 20 ianuarie 2014 .
  25. ^ saltstack / dockerio , la docs.saltstack.com . Adus la 20 ianuarie 2014 (arhivat din original la 3 februarie 2014) .
  26. ^ philspitler / vagrant-docker , pe github.com , GitHub. Adus la 20 ianuarie 2014 (arhivat din original la 9 august 2013) .
  27. ^ O singură casă pentru toate aplicațiile dvs. , la dotcloud.com , dotCloud. Adus la 8 mai 2014 (arhivat din original la 17 mai 2014) .
  28. ^ dotcloud / docker , pe github.com , GitHub. Adus la 13 aprilie 2015 .
  29. ^ Uită-te cine ajută la construirea Docker - în afară de Docker în sine . Infoworld.com , InfoWorld, 27 mai 2015.
  30. ^ 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 .
  31. ^ 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 .
  32. ^ 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 .
  33. ^ 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 .
  34. ^ 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 .
  35. ^ 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 .
  36. ^ 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 .
  37. ^ 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 .
  38. ^ 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

linkuri externe

Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă de software gratuit