Docker

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Docker
programari
Logotip
Tipus Virtualització a nivell del sistema operatiu (no apareix a la llista )
Desenvolupador Docker, Inc.
Data de la primera versió 13 de març de 2013
Última versió 20.10.7 (2 de juny de 2021)
Sistema operatiu Linux
Multiplataforma
Llenguatge Vaja
Llicència Apache 2.0 i llicència pròpia
( llicència gratuïta )
Lloc web www.docker.com

Docker és un projecte de codi obert que automatitza el procés de desplegament d' aplicacions dins de contenidors de programari, proporcionant una abstracció addicional mitjançant la virtualització a nivell de sistema operatiu Linux . [1]

Descripció

Docker utilitza funcions d’aïllament de recursos del nucli Linux com cgroups i espais de noms per permetre la coexistència de “contenidors” independents a la mateixa instància de Linux, evitant la instal·lació i el manteniment d’una màquina virtual . [2]

Els espais de noms del nucli Linux aïllen majoritàriament [3] allò que l’aplicació pot veure des de l’entorn operatiu, inclosos l’arbre de processos, la xarxa, els identificadors d’usuari i els sistemes de fitxers muntats, mentre que els grups de grups proporcionen aïllament de recursos, inclosa la CPU, la memòria, els dispositius E / S de blocs. i xarxa. A partir de la versió 0.9, Docker inclou la biblioteca libcontainer per poder utilitzar directament les funcions de virtualització del nucli Linux, a més d’interfícies abstractes de virtualització com libvirt, LXC i systemd-nspawn. [4] [5] [6]

Segons la firma d'analistes industrials 451 Research , "Docker és una eina que pot empaquetar una aplicació i les seves dependències en un contenidor virtual que es pot executar en qualsevol servidor Linux". [7]

Funcionalitat

Docker pot utilitzar diferents interfícies per accedir a les funcions de virtualització del nucli Linux. [6]

Docker implementa API d’ alt nivell per gestionar contenidors que executen processos en entorns aïllats. [8] Com que utilitza algunes funcions del nucli Linux (principalment cgroups i espais de noms), un contenidor Docker, a diferència d'una màquina virtual, no inclou un sistema operatiu separat. [7] En canvi, utilitza la funcionalitat del nucli i aprofita l'aïllament de recursos (CPU, memòria, E / S de bloc, xarxa) i espais de noms separats per aïllar el que l'aplicació pot veure del sistema operatiu. Docker accedeix a les capacitats de virtualització del nucli Linux directament mitjançant la biblioteca libcontainer , que està disponible des del Docker 0.9, o indirectament mitjançant libvirt , LXC o systemd-nspawn . [6] [9]

Utilitzant contenidors, es poden aïllar recursos, limitar els serveis i iniciar els processos de manera que tingueu una perspectiva completament privada del sistema operatiu, amb el seu propi identificador, sistema de fitxers i interfície de xarxa. Diversos contenidors comparteixen el mateix nucli, però cadascun d'ells es pot veure obligat a utilitzar una certa quantitat de recursos, com ara CPU, memòria i E / S.

L’ús de Docker per crear i gestionar contenidors pot simplificar la creació de sistemes distribuïts , permetent que diferents aplicacions o processos funcionin de forma autònoma a la mateixa màquina física o a diferents màquines virtuals. Això permet que es desplegin nous nodes només quan sigui necessari, permetent un estil de desenvolupament de plataforma com a servei (PaaS) per a sistemes com Apache Cassandra , MongoDB o Riak . Docker també simplifica la creació i la gestió de cues de treball en sistemes distribuïts. [10] [11]

Integració

Docker es pot integrar en diverses infraestructures, inclosos 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]

Orquestració

Per fer que diversos contenidors Docker interactuïn entre si, sovint s’utilitza programari d’ orquestració , com ara Docker Swarm o Kubernetes .

Tecnologia

Docker es va desenvolupar originalment per a Linux , on utilitza funcions d’aïllament de recursos de Linux (nucli) , com ara l’ espai de noms cgroup i kernel , així com un sistema de fitxers compatible, com OverlayFS i altres, per permetre que els contenidors independents s’executin mitjançant una única instància de Linux. , evitant les despeses generals relacionades amb l’inici i l’ús de la màquina virtual . [ sense font ]

Història

Solomon Hykes va crear Docker com a projecte intern de dotCloud, una plataforma com a empresa de serveis , [27] gràcies al treball d'altres enginyers de dotCloud, inclosos Andrea Luzzardi i Francois-Xavier Bourlet. Jeff Lindsay va participar en el projecte com a col·laborador extern. Docker representa l’evolució de la tecnologia pròpia de dotCloud, creada al seu torn gràcies a programes previs de codi obert com Cloudlets .

Docker es va llançar com a codi obert el març de 2013. [8] El 13 de març de 2014, amb la versió 0.9, Docker ja no utilitza LXC com a entorn d'execució per defecte, substituït per la seva pròpia biblioteca libcontainer escrita en el llenguatge de programació Go . [4] [9] A partir del 13 d'abril de 2015, el projecte tenia més de 20.700 estrelles a GitHub . convertint-lo en el vintè projecte més seguit de GitHub, amb més de 4.700 forquilles i prop de 900 col·laboradors. [28]

La investigació del maig de 2015 va demostrar que les següents organitzacions són els principals contribuents al desenvolupament de Docker: Red Hat (col·laborador principal, fins i tot més que el propi equip Docker), l'equip Docker, IBM , Google , Cisco Systems i Amadeus IT Group . [29]

Col·laboracions

  • El 23 de juliol de 2013, dotCloud Inc., l'entitat empresarial darrere de Docker, va anunciar que l'exdirector general de Gluster i de Plaxo , Ben Golub, s'uniria a la companyia i va citar Docker com a principal objectiu de la companyia. [30]
  • El 19 de setembre de 2013, Red Hat i Docker van anunciar una important col·laboració a Fedora , Red Hat Enterprise Linux i OpenShift . [31]
  • El 22 de gener de 2014, Docker va anunciar que havia completat un capital risc de la sèrie B de 15 milions de dòlars, liderat per Greylock Partners. [32]
  • El 23 de juliol de 2014, Docker va comprar Orchard, els creadors de la Fig. [33]
  • El 16 de setembre de 2014, Docker va anunciar que havia completat un capital risc de la sèrie C de 40 milions de dòlars, liderat per Sequoia Capital. [34]
  • El 15 d'octubre de 2014, Microsoft va anunciar la integració de Docker a la següent versió (2016) de Windows Server i el suport natiu per al client Docker a Windows. [35] [36]
  • El 4 de desembre de 2014, IBM va anunciar una associació estratègica amb Docker per permetre a les empreses crear la següent generació d'aplicacions a l'IBM Cloud de manera més eficient, ràpida i rendible. [37]
  • El 22 de juny de 2015 es va anunciar que Docker, CoreOS, IBM , Google, Microsoft, Amazon i altres empreses treballen en un nou estàndard per a contenidors de programari independents del sistema operatiu. [38]

Nota

  1. ^ Maureen O'Gara, Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud , at maureenogara.sys-con.com , SYS-CON Media, 26 de juliol de 2013. Consultat el 9 d'agost de 2013 .
  2. Docker Documentation: Kernel Requirements , a docker.readthedocs.org , 4 de gener de 2014. Obtingut el 20 d'agost de 2014 (arxivat de l' original el 21 d'agost de 2014) .
  3. ^ Dan Walsh, Un altre motiu que no contenen els contenidors: Kernel Keyrings , a projectatomic.io . Consultat el 13 d'abril de 2015 .
  4. ^ a b Steven J. Vaughan-Nichols, Docker libcontainer unifica els contenidors de Linux , a zdnet.com , ZDNet , 11 de juny de 2014. Consultat el 30 de juliol de 2014 .
  5. ^ libcontainer: implementació de referència per a contenidors , a github.com . Consultat el 30 de juliol de 2014 .
  6. ^ a b c Docker 0.9: Presentació dels controladors d'execució i libcontainer , a docker.com , 10 de març de 2014. Obtingut el 20 de gener de 2015 .
  7. ^ a b Katherine Noyes, Docker: A 'Shipping Container' per a Linux Code , a linux.com , Linux.com , 1 d'agost de 2013. Obtingut el 9 d' agost de 2013 (arxivat de l' original el 8 d'agost de 2013) .
  8. ^ a b Abel Avram, Docker: Automated and Consistent Software Deployments , a infoq.com , InfoQ, 27 de març de 2013. Obtingut el 9 d'agost de 2013 .
  9. ^ a b Chris Swan, Docker deixa LXC com a entorn d'execució per defecte , a infoq.com , InfoQ, 13 de març de 2014. Consultat el 20 de gener de 2015 .
  10. Adron Hall, OSCON: Converses, desplegaments, arquitectura, Docker i el futur? , a cloudave.com , CloudAve, 31 de juliol de 2013. Obtingut el 9 d'agost de 2013 .
  11. ^ Travis Reeder, Com Docker ens va ajudar a aconseguir el (gairebé) impossible , blog.iron.io , Iron.io, 22 d'abril de 2014. Consultat el 25 de juliol de 2014 (arxivat de l' original el 8 d'agost de 2014) .
  12. ^ Amazon EC2: documentació Docker , a docs.docker.com . Consultat el 18 d'octubre de 2014 (arxivat de l' original el 18 d'octubre de 2014) .
  13. ^ /, ansible / library / cloud / docker , a github.com , GitHub . Consultat el 20 de gener de 2014 (arxivat de l' original el 27 de desembre de 2013) .
  14. ^ CFEngine , a docs.docker.com , CFEngine. Consultat el 6 de juny de 2014 (arxivat de l' original el 13 de juny de 2014) .
  15. ^ thoward / docker-cookbook , a github.com , GitHub. Consultat el 20 de gener de 2014 .
  16. ^ Contenidors a Google Cloud Platform , a cloud.google.com , Google Inc.
  17. ^ Bluemix llança IBM Containers Beta Basat en Docker , a developer.ibm.com , IBM, 4 de desembre de 2014. Obtingut el 20 d'abril de 2015 .
  18. ^ Jelastic anuncia la integració de Docker per proporcionar el lliurament d'aplicacions orquestrades més avançat , a prweb.com , PRWeb. Consultat el 3 de desembre de 2014 .
  19. ^ georgebashi / jenkins-docker-plugin , a github.com , GitHub. Consultat el 20 de gener de 2014 .
  20. ^ A continuació s'explica com Microsoft dóna suport al model de contenidor Docker de codi obert a ZDNet , el 10 de juny de 2014. Consultat el 16 d'octubre de 2014 .
  21. ^ Com s'executa el servidor NoMachine v. 4 dins de Docker , a nomachine.com . Consultat el 22 d'octubre de 2020 .
  22. ^ Stefano Maffulli, 7 de juny de 2013, OpenStack Community Weekly Newsletter (31 de maig - 7 de juny) »El bloc OpenStack , a openstack.org . Consultat el 20 de gener de 2014 (arxivat de l' original el 29 de desembre de 2013) .
  23. ^ OpenSVC Docker , a docs.opensvc.com , OpenSVC. Consultat el 29 de maig de 2014 (arxivat de l' original el 31 de maig de 2014) .
  24. ^ Gareth Rushgrove, garethr / docker , a forge.puppetlabs.com , Puppet Forge. Consultat el 20 de gener de 2014 .
  25. ^ Saltstack / dockerio , a docs.saltstack.com . Consultat el 20 de gener de 2014 (arxivat de l' original el 3 de febrer de 2014) .
  26. ^ philspitler / vagrant-docker , a github.com , GitHub. Consultat el 20 de gener de 2014 (arxivat de l' original el 9 d'agost de 2013) .
  27. ^ Una casa per a totes les vostres aplicacions , a dotcloud.com , dotCloud. Consultat el 8 de maig de 2014 (arxivat de l' original el 17 de maig de 2014) .
  28. ^ dotcloud / docker , a github.com , GitHub. Consultat el 13 d'abril de 2015 .
  29. ^ Mireu qui ajuda a construir Docker, a més de la mateixa Docker . Infoworld.com , InfoWorld, 27 de maig de 2015.
  30. ^ Barb Darrow, pioner de PaaS dotCloud obté un nou conseller delegat del veterinari de la indústria Ben Golub , a gigaom.com , GigaOM, 23 de juliol de 2013. Consultat el 9 d'agost de 2013 .
  31. ^ DotCloud Pivots and Wins Big With Docker, The Cloud Service Now Part of Red Hat OpenShift , techcrunch.com , TechCrunch , 19 de setembre de 2013. Consultat el 20 de gener de 2014 .
  32. ^ Jordan Novet, l'aposta de codi obert de Docker, paga amb una ronda de 15 milions de dòlars , a venturebeat.com , VentureBeat, 21 de gener de 2014. Obtingut el 22 de gener de 2014 .
  33. Ben Kepes, Docker fa el seu moviment, adquireix un hort en signe de coses per venir , forbes.com , Forbes, 23 de juliol de 2014. Consultat el 23 de juliol de 2014 .
  34. Jack Clark i Peter Burrows, Docker va dir que es valoraria en 400 milions de dòlars en la ronda de finançament . Businessweek.com , Bloomberg, 16 de setembre de 2014. Consultat el 16 de setembre de 2014 .
  35. ^ Mary Jo Foley, compatibilitat amb contenidors Docker que arribarà a la pròxima versió de Microsoft Windows Server , a zdnet.com , ZDNet , el 15 d'octubre de 2014. Obtingut el 16 d' octubre de 2014 .
  36. ^ Scott Guthrie, Docker and Microsoft: Integrating Docker with Windows Server and Microsoft Azure , at weblogs.asp.net , Microsoft, 15 d'octubre de 2014. Consultat el 12 de gener de 2015 .
  37. ^ IBM i Docker anuncien una associació estratègica per lliurar aplicacions empresarials al núvol i a Prem , a www-03.ibm.com , IBM , 4 de desembre de 2014. Consultat el 20 d'abril de 2015 .
  38. ^ Docker, CoreOS, Google, Microsoft, Amazon i altres es reuneixen per desenvolupar Common Container Standard , a techcrunch.com , TechCrunch , 22 de juny de 2015. Consultat el 22 de juny de 2015 .

Altres projectes

Enllaços externs

Programari lliure Portal de programari lliure : accediu a les entrades de Viquipèdia relacionades amb programari lliure