Docker
From Wikipedia, the free encyclopedia
Remove ads
Docker és un projecte de codi obert que automatitza el desplegament d'aplicacions dins de contenidors de programari, proporcionant així una capa addicional d'abstracció i automatització de virtualització d'aplicacions en diferents sistemes operatius.[1]
Remove ads
Docker utilitza característiques d'aïllament de recursos del nucli de Linux, com ara cgroups i espais de noms (namespaces) per permetre que «contenidors» independents s'executin dins d'una sola instància de Linux, evitant d'aquesta manera la sobrecàrrega que implica iniciar i mantenir màquines virtuals.[2]
El suport del kernel de Linux per als espais de noms aïlla allò que pot accedir una aplicació del seu entorn operatiu, incloent-hi arbres de procés, xarxa, identificador d'usuari i sistemes de fitxers muntats, mentre que els cgroups del nucli proporcionen aïllament de recursos, incloent-hi la CPU, la memòria, el bloc d'E/S i de la xarxa.[3]
Des de la versió 0.9, Docker inclou la biblioteca libcontainer com la seva pròpia manera d'utilitzar directament les facilitats de virtualització que ofereix el nucli de Linux, a més d'utilitzar les interfícies abstretes de virtualització mitjançant libvirt, LXC (Linux Containers) i systemd-nspawn.[4][5][6]
D'acord amb la companyia analista de la indústria 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. Això ajuda a permetre la flexibilitat i portabilitat on l'aplicació es pot executar, ja sigui en instal·lacions físiques, en un núvol públic o núvol privat, etc.»[7]
Remove ads
Resum

Docker implementa una API d'alt nivell per proporcionar contenidors lleugers que executen processos de manera aïllada.[8]
Construït sobre les facilitats proporcionades pel nucli de Linux (principalment cgroups i namespaces), un contenidor Docker, a diferència d'una màquina virtual, no requereix incloure un sistema operatiu independent.[7] En el seu lloc, es basa en les funcionalitats del nucli i utilitza l'aïllament de recursos (CPU, la memòria, el bloc E/S, xarxa, etc.) i espai de noms separats per aïllar l'accés d'una aplicació al sistema operatiu. Docker accedeix a la virtualització del nucli de Linux ja sigui directament a través de la biblioteca libcontainer (disponible des de Docker 0.9), o indirectament a través de libvirt, LXC o systemd-nspawn.[6][9]
Mitjançant l'ús de contenidors, els recursos poden ser aïllats, els serveis restringits, i s'atorga als processos la capacitat de tenir un accés gairebéprivat del sistema operatiu amb el seu propi identificador d'espai de procés, l'estructura del sistema de fitxers, i les interfícies de xarxa. Diferents contenidors comparteixen el mateix nucli, però cada contenidor pot ser restringit a utilitzar només una quantitat definida de recursos, com ara CPU, memòria i E/S.
Fer servir Docker per crear i gestionar contenidors pot simplificar la creació de sistemes altament distribuïts, permetent que diferents aplicacions i altres processos funcionin de forma autònoma en una única màquina física o en diverses màquines virtuals. Això permet que el desplegament de nodes es realitzi a mesura que es disposa de recursos o quan es necessitin més nodes, la qual cosa permet una plataforma com a servei d'estil de desplegament i ampliació dels sistemes com a Apache Cassandra, MongoDB o Riak. Docker també simplifica la creació i el funcionament de les tasques de càrrega de treball o les cues, com també altres sistemes distribuïts.[10][11]
Remove ads
Història
Solomon Hykes va començar Docker com un projecte intern dins de dotCloud, una empresa que treballava en una plataforma com un servei (PaaS), juntament amb les contribucions d'altres enginyers la mateixa empresa, com ara Andrea Luzzardi i Francois-Xavier Bourlet.[12][13] Jeff Lindsay també va participar-hi com a col·laborador independent. Docker representa una evolució de la tecnologia patentada de dotCloud, que és al seu torn construïda sobre projectes de codi obert anteriors com Cloudlets.
Docker va ser alliberat com a codi obert al març de 2013.[8] El 13 de març de 2014, amb el llançament de la versió 0.9, Docker va deixar d'utilitzar LXC com a entorn d'execució per defecte i ho va reemplaçar amb la seva pròpia biblioteca, libcontainer, escrita en el llenguatge de programació Go.
Una anàlisi en 2018 va mostrar les següents organitzacions com les principals contribuents de Docker: Red Hat (el principal contribuïdor, encara més que l'equip de Docker en si), l'equip de Docker, Microsoft, IBM, Google, Cisco Systems i Amadeus IT Group.[14]
Remove ads
Vegeu també
Referències
Enllaços externs
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads