Tipus | programari lliure i de codi obert, virtualization engine (en) , format de contenidor digital i programari lliure |
---|---|
Versió inicial | 13 març 2013 |
Versió estable | |
Llicència | llicència de propietat Llicència Apache, versió 2.0 |
Característiques tècniques | |
Sistema operatiu | Linux, Microsoft Windows, macOS i Unix-like |
Plataforma | x86-64 amb kernel Linux |
Escrit en | Go |
Format de fitxer de lectura | |
Format de fitxer d'escriptura | |
Equip | |
Creador/s | Solomon Hykes |
Desenvolupador(s) | Docker, Inc. |
Més informació | |
Lloc web | docker.com (anglès) |
Stack Exchange | Etiqueta |
Id. Subreddit | docker |
| |
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]
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]