Diferencia entre revisiones de «Contenedor virtual (software)»

m
(Etiqueta: revisar proyecto)
m (Protegió «Contenedor virtual (software)» ([Editar=Sólo moderadores] (indefinido) [Trasladar=Sólo moderadores] (indefinido)))
 
(No se muestran 17 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 +
{{Sistema:Artículo certificado
 +
|contenido=los '''Dr. C. [[Raúl Gonzalo Torricella Morales|Raúl Torricella Morales]]''' y Jorge Luis López Presmanes, pertenecientes al '''[[Ministerio de Educación Superior]]''' (MES) y a la  [[Red Nacional Universitaria (Cuba)]], respectivamente.
 +
}}
 +
 
{{Ficha Software
 
{{Ficha Software
 
|nombre=Contenedor virtual (software)
 
|nombre=Contenedor virtual (software)
Línea 35: Línea 39:
 
   | editorial = [https://www.netapp.com/ NetApp]
 
   | editorial = [https://www.netapp.com/ NetApp]
 
   }}</ref>
 
   }}</ref>
es una [[tecnología]] que proporciona una capa adicional de abstracción y automatización de [[virtualización]] de aplicaciones en múltiples [[sistemas operativos|Sistema operativo]]. La misma proporcione,entre otros beneficios, el aislamiento  de recursos de tal forma que se hace posible que diferentes contenedores sean independientes en importantes aspectos (que permiten aplicaciones independientes) aunque sí emplean recursos comunes del sistema operativo en el que ejecutan.  
+
es una [[tecnología]] que proporciona una capa adicional de abstracción y automatización de [[virtualización]] de aplicaciones en múltiples [[Sistema operativo|sistemas operativos]]. La misma proporción, entre otros beneficios, el aislamiento  de recursos de tal forma que se hace posible que diferentes contenedores sean independientes en importantes aspectos (que permiten aplicaciones independientes) aunque sí emplean recursos comunes del sistema operativo en el que ejecutan.  
El soporte del [[Kernel|kernell]] o núcleo del [[sistema operativo]] para los espacios de nombres aísla la vista que tiene una aplicación de su entorno operativo, incluyendo árboles de proceso, red, ID de usuario y sistemas de archivos montados, mientras que por otro lado el mismo proporciona aislamiento de recursos, incluyendo la CPU, la memoria, el bloque de E/S y de la red.  Todo esto manteniendo el uso compartido de muchas facilidades y servicios que brinda el Kernel o núcleo y logrando con ello un entorno de [[virtualización]] mas eficiente que el aportado por el sistema tradicional de [[Máquina virtual|máquinas virtuales]].  
+
El soporte del [[Kernel|kernell]] o núcleo del [[sistema operativo]] para los espacios de nombres aísla la vista que tiene una aplicación de su entorno operativo, incluyendo árboles de proceso, red, ID de usuario y sistemas de archivos montados, mientras que por otro lado el mismo proporciona aislamiento de recursos, incluyendo la CPU, la memoria, el bloque de E/S y de la red.  Todo esto manteniendo el uso compartido de muchas facilidades y servicios que brinda el Kernel o núcleo y logrando con ello un entorno de [[virtualización]] más eficiente que el aportado por el sistema tradicional de [[Máquina virtual|máquinas virtuales]].  
 
==Virtualización basada en hipervisores==
 
==Virtualización basada en hipervisores==
 
[[Archivo:Hypervisor 1.png|thumb|200px|right|upright=1.8|Figura 1a. Hypervisor de Tipo 1<ref name="Contenedor" />]]
 
[[Archivo:Hypervisor 1.png|thumb|200px|right|upright=1.8|Figura 1a. Hypervisor de Tipo 1<ref name="Contenedor" />]]
 
[[Archivo:Hypervisor 2.png|thumb|200px|right|upright=1.8|Figura 1b. Hypervisor de Tipo 2<ref name="Contenedor" />]]
 
[[Archivo:Hypervisor 2.png|thumb|200px|right|upright=1.8|Figura 1b. Hypervisor de Tipo 2<ref name="Contenedor" />]]
Para visualizar más claramente lo antes mencionado es apropiado analizar como es la estructura funcional de un sistema que implementa la virtualización
+
Para visualizar más claramente lo antes mencionado es apropiado analizar cómo es la estructura funcional de un sistema que implementa la virtualización
 
<ref name="Hypervisor">{{cita web
 
<ref name="Hypervisor">{{cita web
 
   | apellido = Wikipedia.es
 
   | apellido = Wikipedia.es
Línea 48: Línea 52:
 
   | editorial = [[https://es.wikipedia.org/ Wikipedia (español)]]
 
   | editorial = [[https://es.wikipedia.org/ Wikipedia (español)]]
 
   }}</ref>
 
   }}</ref>
con máquinas virtuales como el mostrado en las figuras 1a y 1b. Donde se representan tres [[máquinas virtuales|Máquina virtual]] ejecutándose sobre un [[sistema operativo]] huésped. Estas máquinas posee su propio [[sistema operativo]]  y son independientes entre sí.  
+
con máquinas virtuales como el mostrado en las figuras 1a y 1b. Donde se representan tres [[Máquina virtual|máquinas virtuales]] ejecutándose sobre un [[sistema operativo]] huésped. Estas máquinas posen su propio [[sistema operativo]]  y son independientes entre sí.  
 
Asimismo se emplea un elemento de software conocido como hipervisor (‘’Virtual Machine Monitor’’ ó ‘’VMM’’)
 
Asimismo se emplea un elemento de software conocido como hipervisor (‘’Virtual Machine Monitor’’ ó ‘’VMM’’)
 
<ref name="VMM">{{cita web
 
<ref name="VMM">{{cita web
Línea 65: Línea 69:
 
Ejemplos del tipo 2 son: VMware Workstation,  VirtualBox, VMware Player, QEMU y Bhyve.
 
Ejemplos del tipo 2 son: VMware Workstation,  VirtualBox, VMware Player, QEMU y Bhyve.
 
Los hipervisores pueden ofrecer diferentes formas de implementar la virtualización. Las mismas son:
 
Los hipervisores pueden ofrecer diferentes formas de implementar la virtualización. Las mismas son:
*'''Virtualización completa''', Virtualización de hardware o Virtualización nativa.El hipervisor simula un hardware suficiente para permitir un sistema operativo no adaptado que es ejecutado de forma aislada. Ejemplos: VMware Workstation, VMware ESXi, VMware vSphere, Virtualbox, Kernel-based Virtual Machine (KVM). Microsoft Hyper-V, Microsoft Virtual Server y Xen.
+
*'''Virtualización completa''', Virtualización de hardware o Virtualización nativa. El hipervisor simula un hardware suficiente para permitir un sistema operativo no adaptado que es ejecutado de forma aislada. Ejemplos: VMware Workstation, VMware ESXi, VMware vSphere, Virtualbox, Kernel-based Virtual Machine (KVM). Microsoft Hyper-V, Microsoft Virtual Server y Xen.
*'''Virtualización parcial''' o paravirtualización. El hipervisor en este caso ofrece un interfaz especial para acceder a los recursos del hardware físico. Por esta razón el sistema operativo de la máquina virtual tiene que ser uno especialmente modificado o adaptado para ser empleado exitosamente.
+
*'''Virtualización parcial''' o paravirtualización. El hipervisor en este caso ofrece un interfaz especial para acceder a los recursos del hardware físico. Por esta razón el sistema operativo de la máquina virtual tiene que ser uno especialmente modificado o adaptado para ser empleado exitosamente.
 
*'''Emulación'''. El hipervisor en esta variante logra imitar o suplantar con el hardware real que posee la computadora huésped. Ejemplos: Bochs (emula CPU's, dispositivos de E/S y BIOS), QEMU (emula un [[sistema operativo]] dentro de otro), Microsoft Virtual PC.
 
*'''Emulación'''. El hipervisor en esta variante logra imitar o suplantar con el hardware real que posee la computadora huésped. Ejemplos: Bochs (emula CPU's, dispositivos de E/S y BIOS), QEMU (emula un [[sistema operativo]] dentro de otro), Microsoft Virtual PC.
 
==Virtualización basada en contenedores==
 
==Virtualización basada en contenedores==
Línea 87: Línea 91:
 
   | editorial = [https://es.wikipedia.org/wiki/Wikipedia:Portada Wikipedia (español)]
 
   | editorial = [https://es.wikipedia.org/wiki/Wikipedia:Portada Wikipedia (español)]
 
   }}</ref>
 
   }}</ref>
utiliza características de aislamiento de recursos del [[Núcleo Linux|kernel Linux]], tales como [[cgroups]] y [[Espacio de nombres|espacios de nombres (namespaces)]]  para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener [[Máquina virtual|máquinas virtuales]].<ref>{{cita web
+
utiliza características de aislamiento de recursos del [[Núcleo Linux|kernel Linux]], tales como [[cgroups]] y [[Espacio de nombres|espacios de nombres (namespaces)]]  para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener [[Máquina virtual|máquinas virtuales]].<ref>{{cita web
 
  |url          = http://docker.readthedocs.org/en/v0.7.3/installation/kernel/
 
  |url          = http://docker.readthedocs.org/en/v0.7.3/installation/kernel/
 
  |urlarchivo  = https://web.archive.org/web/20140821065734/http://docker.readthedocs.org/en/v0.7.3/installation/kernel/
 
  |urlarchivo  = https://web.archive.org/web/20140821065734/http://docker.readthedocs.org/en/v0.7.3/installation/kernel/
Línea 102: Línea 106:
 
  | título = Docker libcontainer unifies Linux container powers
 
  | título = Docker libcontainer unifies Linux container powers
 
  | fecha = 11 de junio de 2014 | fechaacceso = 30 de julio de 2014
 
  | fecha = 11 de junio de 2014 | fechaacceso = 30 de julio de 2014
  | autor = Steven J. Vaughan-Nichols | editorial = [[ZDNet]]
+
  | autor = Steven J. Vaughan-Nichols | editorial = [https://es.wikipedia.org/wiki/ZDNet ZDNet]
 
}}</ref><ref>{{cita web
 
}}</ref><ref>{{cita web
 
  | url = https://github.com/docker/libcontainer/blob/master/README.md
 
  | url = https://github.com/docker/libcontainer/blob/master/README.md
Línea 128: Línea 132:
  
 
=== Funcionamiento===
 
=== Funcionamiento===
 +
 
[[Archivo:Docker-linux-interfaces.svg.png|thumb|200px|right|upright=1.8|Docker puede utilizar diferentes interfaces para acceder a las capacidades de virtualizacion del kernel Linux.<ref name="docker-blog-201403" />]]
 
[[Archivo:Docker-linux-interfaces.svg.png|thumb|200px|right|upright=1.8|Docker puede utilizar diferentes interfaces para acceder a las capacidades de virtualizacion del kernel Linux.<ref name="docker-blog-201403" />]]
 +
 
Docker implementa una [[Interfaz de programación de aplicaciones|API]] de alto nivel para proporcionar contenedores livianos que ejecutan procesos de manera aislada.<ref name="infoq-201303">{{cita web
 
Docker implementa una [[Interfaz de programación de aplicaciones|API]] de alto nivel para proporcionar contenedores livianos que ejecutan procesos de manera aislada.<ref name="infoq-201303">{{cita web
 
   | apellido = Avram
 
   | apellido = Avram
Línea 172: Línea 178:
 
  |fechaarchivo = 8 de agosto de 2014
 
  |fechaarchivo = 8 de agosto de 2014
 
}}</ref>
 
}}</ref>
 +
 
===Instalación en Ubuntu Linux===
 
===Instalación en Ubuntu Linux===
 +
 
La última versión de largo término (LTS) de ubuntu es la Focal Fossa (20.04) [https://es.wikipedia.org/wiki/Ubuntu]. Esta distribución aporta en sus repositorios oficiales la posibilidad de instalar Docker. Por ello el procedimiento de instalación es simple:
 
La última versión de largo término (LTS) de ubuntu es la Focal Fossa (20.04) [https://es.wikipedia.org/wiki/Ubuntu]. Esta distribución aporta en sus repositorios oficiales la posibilidad de instalar Docker. Por ello el procedimiento de instalación es simple:
=== Actualización del sistema===)
+
 
 +
==== Actualización del Ubuntu====
 +
 
 
*$ sudo apt update
 
*$ sudo apt update
 
*$ sudo apt upgrade
 
*$ sudo apt upgrade
 
Con la introducción secuencial de estos dos comandos se logra actualizar el sistema a partir de la conectividad a algún repositorio de Ubuntu.
 
Con la introducción secuencial de estos dos comandos se logra actualizar el sistema a partir de la conectividad a algún repositorio de Ubuntu.
  
===Instalación en modo consola===
+
====Instalación en modo consola====
 +
 
 
*$ sudo apt-get install docker.io  Uso del comando apt para  installar docker  
 
*$ sudo apt-get install docker.io  Uso del comando apt para  installar docker  
 
*$ sudo systemctl enable –now docker  Habilitación o inicio de docker y configuración para que  inicie despues de un reinio o comienzo del sistema operativo  
 
*$ sudo systemctl enable –now docker  Habilitación o inicio de docker y configuración para que  inicie despues de un reinio o comienzo del sistema operativo  
Línea 185: Línea 196:
 
*REINICIO del sistema o del usuario.
 
*REINICIO del sistema o del usuario.
  
===Verificación de la instalación===
+
====Verificación de la instalación====
 +
 
 
$ docker --version
 
$ docker --version
 
Con este comando la respuesta debe ser análoga a la siguiente:
 
Con este comando la respuesta debe ser análoga a la siguiente:
Línea 201: Línea 213:
  
 
===Imágenes para crear contenedores===
 
===Imágenes para crear contenedores===
 +
 
Los dos elementos fundamentales de Docker son las imágenes y los propios contenedores creados con ellas. En su esencia, una imagen es una especie de plantilla, con la que se pueden crear contenedores y en este proceso nunca cambian. Claro que  un contenedor puede ser modificado y con él se puede a su vez crear una plantilla. También con una plantilla puede ser creada otra que resultaría ser una versión modificada de la misma. Así dada una imagen “padre” pueden crearse diversas modificadas.
 
Los dos elementos fundamentales de Docker son las imágenes y los propios contenedores creados con ellas. En su esencia, una imagen es una especie de plantilla, con la que se pueden crear contenedores y en este proceso nunca cambian. Claro que  un contenedor puede ser modificado y con él se puede a su vez crear una plantilla. También con una plantilla puede ser creada otra que resultaría ser una versión modificada de la misma. Así dada una imagen “padre” pueden crearse diversas modificadas.
  
Línea 213: Línea 226:
 
<br><br>
 
<br><br>
 
El registro que quizás sea el más empleado públicamente se nombre Dockerhub <ref name="Contenedor" />
 
El registro que quizás sea el más empleado públicamente se nombre Dockerhub <ref name="Contenedor" />
De este registro es posible no sólo extraer imagenes sino también  “subir”imágenes creadas por usuarios.
+
De este registro es posible no sólo extraer imágenes sino también  “subir” imágenes creadas por usuarios.
 
En el caso de que se disponga del acceso al sitio el comando de obtención de una imagen dada es simple:
 
En el caso de que se disponga del acceso al sitio el comando de obtención de una imagen dada es simple:
 
$ docker pull <nombre de la imagen>
 
$ docker pull <nombre de la imagen>
Línea 223: Línea 236:
  
 
=== Integración ===
 
=== Integración ===
Docker se puede integrar con diferentes herramientas de infraestructura, como [[Amazon Web Services]],<ref>{{cita web |url=https://docs.docker.com/installation/amazon/ |título=Amazon EC2 - Docker Documentation |website=docs.docker.com |fecha= |fechaacceso=18 de octubre de 2014 |urlarchivo=https://archive.is/20141018090321/https://docs.docker.com/installation/amazon/ |fechaarchivo=18 de octubre de 2014 }}</ref> [[Ansible (software)|Ansible]],<ref>{{cita web|autor=/|url=https://github.com/ansible/ansible/blob/devel/library/cloud/docker|título=ansible/library/cloud/docker|editorial=[[GitHub]]|fecha=|fechaacceso=20 de enero de 2014|urlarchivo=https://archive.is/20131227071413/https://github.com/ansible/ansible/blob/devel/library/cloud/docker|fechaarchivo=27 de diciembre de 2013}}</ref> [[CFEngine|Cfengine]],<ref>{{cita web|url=http://docs.docker.com/examples/cfengine_process_management/|título=CFEngine|editorial=CFEngine|fecha=|fechaacceso=6 de junio de 2014|urlarchivo=https://web.archive.org/web/20140613180312/http://docs.docker.com/examples/cfengine_process_management/|fechaarchivo=13 de junio de 2014}}</ref> [[Chef (software)|Chef]],<ref>{{cita web|url=https://github.com/thoward/docker-cookbook |título=thoward/docker-cookbook |editorial=GitHub |fecha= |fechaacceso=20 de enero de 2014}}</ref> [[Google Cloud Platform]],<ref>{{cita web|título=Containers on Google Cloud Platform|url=https://cloud.google.com/compute/docs/containers|editorial=Google Inc}}</ref> [[DigitalOcean]],<ref>{{Cita web|url=https://www.digitalocean.com/community/tags/docker?type=tutorials|título=Docker Tutorials {{!}} DigitalOcean|fechaacceso=12 de julio de 2016|sitioweb=www.digitalocean.com}}</ref>  [[Bluemix|IBM Bluemix]],<ref>{{cita web |url=https://developer.ibm.com/bluemix/2014/12/04/ibm-containers-beta-docker/ |título=Bluemix Launches IBM Containers Beta Based on Docker |editorial=IBM |fecha= 4 de diciembre de 2014 |fechaacceso=20 de abril de 2015}}</ref> [[:en:Jelastic|Jelastic]],<ref>{{cita web |url=http://www.prweb.com/releases/2014/12/prweb12361294.htm/ |título=Jelastic Announces Docker Integration to Provide the Most Advanced Orchestrated Application Delivery |editorial=PRWeb|fecha= |fechaacceso=3 de diciembre de 2014}}</ref> [[Jenkins]],<ref>{{cita web|url=https://github.com/georgebashi/jenkins-docker-plugin |título=georgebashi/jenkins-docker-plugin |editorial=GitHub |fecha= |fechaacceso=20 de enero de 2014}}</ref> [[Microsoft Azure]],<ref>{{cita web|url=http://www.zdnet.com/heres-how-microsoft-is-supporting-the-open-source-docker-container-model-7000030393/|título=Here's how Microsoft is supporting the open-source Docker container model|fecha=10 de junio de 2014|obra=ZDNet|fechaacceso=16 de octubre de 2014}}</ref> [[OpenStack]] Nova,<ref>{{cita web|autor=Stefano Maffulli&nbsp; June 7th, 2013 |url=http://www.openstack.org/blog/2013/06/openstack-community-weekly-newsletter-may-31-june-7/ |título=OpenStack Community Weekly Newsletter (May 31 – June 7) » The OpenStack Blog |editorial=Openstack.org |fecha=7 de junio de 2013 |fechaacceso=20 de enero de 2014}}</ref> [[OpenSVC]],<ref>{{cita web|url=http://docs.opensvc.com/virtualization.docker.html|título=OpenSVC Docker|editorial=OpenSVC|fecha=|fechaacceso=29 de mayo de 2014|urlarchivo=https://web.archive.org/web/20140531090525/http://docs.opensvc.com/virtualization.docker.html|fechaarchivo=31 de mayo de 2014}}</ref> [[Puppet (software)|Puppet]],<ref>{{cita web | autor = Gareth Rushgrove | url = http://forge.puppetlabs.com/garethr/docker | título = garethr/docker | editorial = Puppet Forge | fecha = | fechaacceso = 20 de enero de 2014 }}</ref> [[:en:Salt (software)|Salt]],<ref>{{cita web |url=http://docs.saltstack.com/ref/modules/all/salt.modules.dockerio.html#module-salt.modules.dockerio |título=saltstack/dockerio |fechaacceso=20 de enero de 2014 |urlarchivo=https://web.archive.org/web/20140203185236/http://docs.saltstack.com/ref/modules/all/salt.modules.dockerio.html#module-salt.modules.dockerio |fechaarchivo=3 de febrero de 2014 }}</ref>  y [[Vagrant_(software)|Vagrant]].<ref>{{cita web |url=https://github.com/philspitler/vagrant-docker |título=philspitler/vagrant-docker |editorial=GitHub |fecha= |fechaacceso=20 de enero de 2014 |urlarchivo=https://archive.is/20130809164628/https://github.com/philspitler/vagrant-docker |fechaarchivo=9 de agosto de 2013 }}</ref>
 
  
El proyecto Cloud Foundry Diego integra Docker con [[Cloud Foundry]] PaaS.<ref> {{cita web | url = http://www.activestate.com/blog/2014/09/cloud-foundry-diego-explained-onsi-fakhouri | título = Cloud Foundry: Diego Explained By Onsi Fakhouri | fechaacceso = 5 de noviembre de 2018 | apellidos = Whelan | nombres = Phil | fecha = 3 de septiembre de 2014 | sitioweb = ActiveState | idioma = en | cita = Functionality is being added to enable end-users to push Docker images directly into a Cloud Foundry cluster running Diego. | formato = html | urlarchivo = https://web.archive.org/web/20150419231628/http://www.activestate.com/blog/2014/09/cloud-foundry-diego-explained-onsi-fakhouri | fechaarchivo = 19 de abril de 2015 }} </ref>
+
Docker se puede integrar con diferentes herramientas de infraestructura, como [https://es.wikipedia.org/wiki/Amazon_Web_Services Amazon Web Services],<ref>{{cita web |url=https://docs.docker.com/installation/amazon/ |título=Amazon EC2 - Docker Documentation |website=docs.docker.com |fecha= |fechaacceso=18 de octubre de 2014 |urlarchivo=https://archive.is/20141018090321/https://docs.docker.com/installation/amazon/ |fechaarchivo=18 de octubre de 2014 }}</ref> [https://es.wikipedia.org/wiki/Ansible_(software)Ansible]],<ref>{{cita web|autor=/|url=https://github.com/ansible/ansible/blob/devel/library/cloud/docker|título=ansible/library/cloud/docker|editorial=[[GitHub]]|fecha=|fechaacceso=20 de enero de 2014|urlarchivo=https://archive.is/20131227071413/https://github.com/ansible/ansible/blob/devel/library/cloud/docker|fechaarchivo=27 de diciembre de 2013}}</ref> CFEngine,<ref>{{cita web|url=http://docs.docker.com/examples/cfengine_process_management/|título=CFEngine|editorial=CFEngine|fecha=|fechaacceso=6 de junio de 2014|urlarchivo=https://web.archive.org/web/20140613180312/http://docs.docker.com/examples/cfengine_process_management/|fechaarchivo=13 de junio de 2014}}</ref> [[Chef (software)|Chef]],<ref>{{cita web|url=https://github.com/thoward/docker-cookbook |título=thoward/docker-cookbook |editorial=GitHub |fecha= |fechaacceso=20 de enero de 2014}}</ref> [https://es.wikipedia.org/wiki/Google_Cloud Google Cloud Platform],<ref>{{cita web|título=Containers on Google Cloud Platform|url=https://cloud.google.com/compute/docs/containers|editorial=Google Inc}}</ref> [https://es.wikipedia.org/wiki/DigitalOcean DigitalOcean],<ref>{{Cita web|url=https://www.digitalocean.com/community/tags/docker?type=tutorials|título=Docker Tutorials {{!}} DigitalOcean|fechaacceso=12 de julio de 2016|sitioweb=www.digitalocean.com}}</ref>  [[Bluemix|IBM Bluemix]],<ref>{{cita web |url=https://developer.ibm.com/bluemix/2014/12/04/ibm-containers-beta-docker/ |título=Bluemix Launches IBM Containers Beta Based on Docker |editorial=IBM |fecha= 4 de diciembre de 2014 |fechaacceso=20 de abril de 2015}}</ref> [[:en:Jelastic|Jelastic]],<ref>{{cita web |url=http://www.prweb.com/releases/2014/12/prweb12361294.htm/ |título=Jelastic Announces Docker Integration to Provide the Most Advanced Orchestrated Application Delivery |editorial=PRWeb|fecha= |fechaacceso=3 de diciembre de 2014}}</ref> [[Jenkins]],<ref>{{cita web|url=https://github.com/georgebashi/jenkins-docker-plugin |título=georgebashi/jenkins-docker-plugin |editorial=GitHub |fecha= |fechaacceso=20 de enero de 2014}}</ref> [[Microsoft Azure]],<ref>{{cita web|url=http://www.zdnet.com/heres-how-microsoft-is-supporting-the-open-source-docker-container-model-7000030393/|título=Here's how Microsoft is supporting the open-source Docker container model|fecha=10 de junio de 2014|obra=ZDNet|fechaacceso=16 de octubre de 2014}}</ref> [https://es.wikipedia.org/wiki/OpenStack OpenStack] Nova,<ref>{{cita web|autor=Stefano Maffulli&nbsp; June 7th, 2013 |url=http://www.openstack.org/blog/2013/06/openstack-community-weekly-newsletter-may-31-june-7/ |título=OpenStack Community Weekly Newsletter (May 31 – June 7) » The OpenStack Blog |editorial=Openstack.org |fecha=7 de junio de 2013 |fechaacceso=20 de enero de 2014}}</ref> [[OpenSVC]],<ref>{{cita web|url=http://docs.opensvc.com/virtualization.docker.html|título=OpenSVC Docker|editorial=OpenSVC|fecha=|fechaacceso=29 de mayo de 2014|urlarchivo=https://web.archive.org/web/20140531090525/http://docs.opensvc.com/virtualization.docker.html|fechaarchivo=31 de mayo de 2014}}</ref> [https://es.wikipedia.org/wiki/Puppet_(software) Puppet (software)],<ref>{{cita web | autor = Gareth Rushgrove | url = http://forge.puppetlabs.com/garethr/docker | título = garethr/docker | editorial = Puppet Forge | fecha = | fechaacceso = 20 de enero de 2014 }}</ref> [[:en:Salt (software)|Salt]],<ref>{{cita web |url=http://docs.saltstack.com/ref/modules/all/salt.modules.dockerio.html#module-salt.modules.dockerio |título=saltstack/dockerio |fechaacceso=20 de enero de 2014 |urlarchivo=https://web.archive.org/web/20140203185236/http://docs.saltstack.com/ref/modules/all/salt.modules.dockerio.html#module-salt.modules.dockerio |fechaarchivo=3 de febrero de 2014 }}</ref>  y [[https://es.wikipedia.org/wiki/Vagrant_(software)|Vagrant]].<ref>{{cita web |url=https://github.com/philspitler/vagrant-docker |título=philspitler/vagrant-docker |editorial=GitHub |fecha= |fechaacceso=20 de enero de 2014 |urlarchivo=https://archive.is/20130809164628/https://github.com/philspitler/vagrant-docker |fechaarchivo=9 de agosto de 2013 }}</ref>
  
El proyecto GearD tiene como objetivo integrar Docker en el de Red Hat [[OpenShift]] Origin PaaS.  
+
El proyecto Cloud Foundry Diego integra Docker con [https://es.wikipedia.org/wiki/Cloud_Foundry Cloud Foundry] PaaS.<ref> {{cita web | url = http://www.activestate.com/blog/2014/09/cloud-foundry-diego-explained-onsi-fakhouri | título = Cloud Foundry: Diego Explained By Onsi Fakhouri | fechaacceso = 5 de noviembre de 2018 | apellidos = Whelan | nombres = Phil | fecha = 3 de septiembre de 2014 | sitioweb = ActiveState | idioma = en | cita = Functionality is being added to enable end-users to push Docker images directly into a Cloud Foundry cluster running Diego. | formato = html | urlarchivo = https://web.archive.org/web/20150419231628/http://www.activestate.com/blog/2014/09/cloud-foundry-diego-explained-onsi-fakhouri | fechaarchivo = 19 de abril de 2015 }} </ref>
 +
 
 +
El proyecto GearD tiene como objetivo integrar Docker en el de Red Hat [[OpenShift]].  
 
<ref>
 
<ref>
 
{{cite news
 
{{cite news
Línea 242: Línea 256:
 
</ref>
 
</ref>
  
En respuesta a la disponibilidad de estas integraciónes, la plataforma de monitoreo, [[:en:Datadog|Datadog]], desarrolló un reportaje sobre la tasa de adopción de los servicios de Docker por 7&nbsp;000 empresas con infraestructuras basadas en la nube.<ref>Seguridad en los contenedores docker  [https://blog.elevenpaths.com/2018/06/docker-contenedores-seguros-ciberseguridad.html https://blog.elevenpaths.com/2018/06/docker-contenedores-seguros-cib] </ref><ref>{{Cita web|título = 8 surprising facts about real Docker adoption - Datadog|url = https://www.datadoghq.com/docker-adoption/|sitioweb = Datadog|fechaacceso = 1 de febrero de 2016|idioma = en-US}}</ref>
+
En respuesta a la disponibilidad de estas integraciones, la plataforma de monitoreo, [[:en:Datadog|Datadog]], desarrolló un reportaje sobre la tasa de adopción de los servicios de Docker por 7&nbsp;000 empresas con infraestructuras basadas en la nube.<ref>Seguridad en los contenedores docker  [https://blog.elevenpaths.com/2018/06/docker-contenedores-seguros-ciberseguridad.html https://blog.elevenpaths.com/2018/06/docker-contenedores-seguros-cib] </ref><ref>{{Cita web|título = 8 surprising facts about real Docker adoption - Datadog|url = https://www.datadoghq.com/docker-adoption/|sitioweb = Datadog|fechaacceso = 1 de febrero de 2016|idioma = en-US}}</ref>
  
 
=== Historia ===
 
=== Historia ===
Línea 257: Línea 271:
 
Un análisis en 2018 mostró las siguientes organizaciones como las principales contribuyentes de Docker: [[Red Hat]] (mayores contribuyentes, aún más que el equipo de Docker en sí), el equipo de Docker, [[Microsoft]], [[IBM]], [[Google]], [[Cisco Systems]] y [[Amadeus IT Group]].<ref>{{cita web|url=http://www.infoworld.com/article/2925484/application-virtualization/look-whos-helping-build-docker-besides-docker-itself.html?utm_content=bufferee5d7&utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer |título=Look who's helping build Docker -- besides Docker itself |editorial=InfoWorld |fecha=27 de mayo de 2015}}</ref>
 
Un análisis en 2018 mostró las siguientes organizaciones como las principales contribuyentes de Docker: [[Red Hat]] (mayores contribuyentes, aún más que el equipo de Docker en sí), el equipo de Docker, [[Microsoft]], [[IBM]], [[Google]], [[Cisco Systems]] y [[Amadeus IT Group]].<ref>{{cita web|url=http://www.infoworld.com/article/2925484/application-virtualization/look-whos-helping-build-docker-besides-docker-itself.html?utm_content=bufferee5d7&utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer |título=Look who's helping build Docker -- besides Docker itself |editorial=InfoWorld |fecha=27 de mayo de 2015}}</ref>
  
El 29 de julio de 2020 se dio a conocer la existencia de Doki, un malware que corre en el sistema operativo Linux que tiene por finalidad infectar la API de los contenedores Docker mal configurados. Algunas de sus acciones son las siguientes<ref>{{Cita web|url=https://unaaldia.hispasec.com/2020/07/doki-el-nuevo-malware-de-linux-fija-como-objetivo-las-apis-de-contenedores-docker-mal-configurados.html|título=Doki el nuevo malware de linux fija como objetivo las Apis de los contenedores Docker mal configurados.}}</ref>:
+
El 29 de julio de 2020 se dio a conocer la existencia de Doki, un malware que corre en el sistema operativo Linux que tiene por finalidad infectar la API de los contenedores Docker mal configurado. Algunas de sus acciones son las siguientes<ref>{{Cita web|url=https://unaaldia.hispasec.com/2020/07/doki-el-nuevo-malware-de-linux-fija-como-objetivo-las-apis-de-contenedores-docker-mal-configurados.html|título=Doki el nuevo malware de linux fija como objetivo las Apis de los contenedores Docker mal configurados.}}</ref>:
  
 
* Crea URL única con vidas cortas para descargar payloads durante el ataque.
 
* Crea URL única con vidas cortas para descargar payloads durante el ataque.
Línea 339: Línea 353:
  
 
== Véase también ==
 
== Véase también ==
 +
 
* [https://es.wikipedia.org/wiki/DevOps DevOps]
 
* [https://es.wikipedia.org/wiki/DevOps DevOps]
 
* [https://es.wikipedia.org/wiki/Arquitectura_de_microservicios Arquitectura de microservicios]
 
* [https://es.wikipedia.org/wiki/Arquitectura_de_microservicios Arquitectura de microservicios]
 
* [https://es.wikipedia.org/wiki/Virtualizaci%C3%B3n_a_nivel_de_sistema_operativo Virtualización a nivel de sistema operativo]
 
* [https://es.wikipedia.org/wiki/Virtualizaci%C3%B3n_a_nivel_de_sistema_operativo Virtualización a nivel de sistema operativo]
  
== Referencias ==
+
== Enlaces externos ==
{{listaref|2}}
 
  
== Enlaces externos ==
 
 
* [https://www.docker.com/ Sitio oficial de Docker]
 
* [https://www.docker.com/ Sitio oficial de Docker]
 
* [https://github.com/docker/docker-ce Repositorio oficial en GitHub]
 
* [https://github.com/docker/docker-ce Repositorio oficial en GitHub]
Línea 355: Línea 368:
 
* [http://www.lomasnuevo.net/cloud/devops/que-es-docker/ ¿Qué es Docker?]
 
* [http://www.lomasnuevo.net/cloud/devops/que-es-docker/ ¿Qué es Docker?]
  
{{Control de autoridades}}
+
== Referencias ==
 +
 
 +
{{listaref|2}}
 +
 
 
[[Categoría:Tecnología_de_sistema_operativo]]
 
[[Categoría:Tecnología_de_sistema_operativo]]
 
[[Categoría:Software libre]]
 
[[Categoría:Software libre]]
Línea 364: Línea 380:
 
[[Categoría:Software para Linux]]
 
[[Categoría:Software para Linux]]
 
[[Categoría:Software programado en Go]]
 
[[Categoría:Software programado en Go]]
 +
[[Categoría:Artículos certificados]]

última versión al 21:52 4 ene 2021


Contenedor virtual (software)
Información sobre la plantilla
Contenedor virtual.png
CreadorSolomon Hykes
DesarrolladorDocker, Inc.
Fecha de Creación13 de marzo 2013
Última versión establedescargar última versión
Plataformas soportadasx86-64, ARM, MIPS, ppc64le y s390x
Sistemas Operativos compatiblesLinux, Windows y macOS
LicenciaApache License 2.0
Sitio web
URL

Un contenedor virtual o contenedor de software [1] es una tecnología que proporciona una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos. La misma proporción, entre otros beneficios, el aislamiento de recursos de tal forma que se hace posible que diferentes contenedores sean independientes en importantes aspectos (que permiten aplicaciones independientes) aunque sí emplean recursos comunes del sistema operativo en el que ejecutan. El soporte del kernell o núcleo del sistema operativo para los espacios de nombres aísla la vista que tiene una aplicación de su entorno operativo, incluyendo árboles de proceso, red, ID de usuario y sistemas de archivos montados, mientras que por otro lado el mismo proporciona aislamiento de recursos, incluyendo la CPU, la memoria, el bloque de E/S y de la red. Todo esto manteniendo el uso compartido de muchas facilidades y servicios que brinda el Kernel o núcleo y logrando con ello un entorno de virtualización más eficiente que el aportado por el sistema tradicional de máquinas virtuales.

Virtualización basada en hipervisores

Figura 1a. Hypervisor de Tipo 1[2]
Figura 1b. Hypervisor de Tipo 2[2]

Para visualizar más claramente lo antes mencionado es apropiado analizar cómo es la estructura funcional de un sistema que implementa la virtualización [3] con máquinas virtuales como el mostrado en las figuras 1a y 1b. Donde se representan tres máquinas virtuales ejecutándose sobre un sistema operativo huésped. Estas máquinas posen su propio sistema operativo y son independientes entre sí. Asimismo se emplea un elemento de software conocido como hipervisor (‘’Virtual Machine Monitor’’ ó ‘’VMM’’) [4] y que tiene sus raíces ya a finales de 1960 y principios de los años 1970 cuando, para reducir costos, se consolidaban varias computadoras aisladas o independientes en una sola y más grande conocida como mainframe. El hipervisor es una capa de software destinado a realizar una virtualización de hardware sobre el propio hardware físico con el fin de lograr emplear simultáneamente diferentes sistemas operativos. Existen dos tipos de hipervisores básicos. Son los mostrados en la figuras 1a y 1b y conocidos como hypervisor tipo 1 (‘’bare metal’’ o ‘’nativo’’) e hipervisor tipo 2 (ḧipervisor hospedado). También existen otros conocidos como ‘’hibridos’’. Ejemplos del tipo 1 son: Xen, Kernel-based Virtual Machine (KVM), Microsoft Hyper-V, VMware ESXi y Oracle VM Server. Ejemplos del tipo 2 son: VMware Workstation, VirtualBox, VMware Player, QEMU y Bhyve. Los hipervisores pueden ofrecer diferentes formas de implementar la virtualización. Las mismas son:

  • Virtualización completa, Virtualización de hardware o Virtualización nativa. El hipervisor simula un hardware suficiente para permitir un sistema operativo no adaptado que es ejecutado de forma aislada. Ejemplos: VMware Workstation, VMware ESXi, VMware vSphere, Virtualbox, Kernel-based Virtual Machine (KVM). Microsoft Hyper-V, Microsoft Virtual Server y Xen.
  • Virtualización parcial o paravirtualización. El hipervisor en este caso ofrece un interfaz especial para acceder a los recursos del hardware físico. Por esta razón el sistema operativo de la máquina virtual tiene que ser uno especialmente modificado o adaptado para ser empleado exitosamente.
  • Emulación. El hipervisor en esta variante logra imitar o suplantar con el hardware real que posee la computadora huésped. Ejemplos: Bochs (emula CPU's, dispositivos de E/S y BIOS), QEMU (emula un sistema operativo dentro de otro), Microsoft Virtual PC.

Virtualización basada en contenedores

En este tipo de virtualización sobre el núcleo o kernel del sistema operativo se ejecuta una capa de virtualización que permite que existan múltiples instancias aisladas de espacios de usuario, en lugar de solo uno. Estas instancias se conocen como contenedores, y su funcionalidad resulta ser análoga a la de un sistema operativo real, independiente. Existen diversas variantes de contenedores. De ellas una muy popular es la denominada Docker. La misma surgió en el 2013 y se caracteriza porque logra gestionar el ciclo de vida de los contenedores de forma sencilla y eficaz. Hay que destacar que aunque es posible implementar la gestión de contenedores a nivel de comandos y terminales, se han creado para facilitar la gestión de contenedores los denominados Orquestadores de contenedores”. Los contenedores como Docker permiten empaquetar y distribuir aplicaciones y con ello adoptar una arquitectura de microservicios. Así puede ocurrir que esta arquitectura en algunos sistemas sea compleja y difícil de gestionar de manera no automática y por ello se han desarrollado los orquestadores de contenedores. Los mismos permiten:

  • Automatizar el despliegue de aplicaciones.
  • Gestionar la escalabilidad de aplicaciones y operaciones de mantenimiento.
  • Gestionar y asignar los recursos disponibles del sistema.
  • Balancear la carga.
  • Monitorizar el estado de los contenedores.

Docker como contenedor

Docker [2] utiliza características de aislamiento de recursos del kernel Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales.[5]

El soporte del kernel Linux para los espacios de nombres aísla la vista que tiene una aplicación de su entorno operativo,[6] incluyendo árboles de proceso, red, ID de usuario y sistemas de archivos montados, mientras que los cgroups del kernel proporcionan aislamiento de recursos, incluyendo la CPU, la memoria, el bloque de E/S y de la red. Desde la versión 0.9, Docker incluye la biblioteca libcontainer como su propia manera de utilizar directamente las facilidades de virtualización que ofrece el kernel Linux, además de utilizar las interfaces abstraídas de virtualización mediante libvirt, LXC (Linux Containers) y systemd-nspawn.[7][8][9]

De acuerdo con la firma analista de la industria 451 Research, "Docker es una herramienta que puede empaquetar una aplicación y sus dependencias en un contenedor virtual que se puede ejecutar en cualquier servidor Linux. Esto ayuda a permitir la flexibilidad y portabilidad en donde la aplicación se puede ejecutar, ya sea en las instalaciones físicas, la nube pública, nube privada, etc."[10]

Funcionamiento

Docker puede utilizar diferentes interfaces para acceder a las capacidades de virtualizacion del kernel Linux.[9]

Docker implementa una API de alto nivel para proporcionar contenedores livianos que ejecutan procesos de manera aislada.[11]

Construido sobre las facilidades proporcionadas por el kernel Linux (principalmente cgroups y namespaces), un contenedor Docker, a diferencia de una máquina virtual, no requiere incluir un sistema operativo independiente.[10] En su lugar, se basa en las funcionalidades del kernel y utiliza el aislamiento de recursos (CPU, la memoria, el bloque E / S, red, etc.) y namespaces separados para aislar la vista de una aplicación del sistema operativo. Docker accede a la virtualización del kernel Linux ya sea directamente a través de la biblioteca libcontainer (disponible desde Docker 0.9), o indirectamente a través de libvirt, LXC o systemd-nspawn. [9][12]

Mediante el uso de contenedores, los recursos pueden ser aislados, los servicios restringidos, y se otorga a los procesos la capacidad de tener una visión casi completamente privada del sistema operativo con su propio identificador de espacio de proceso, la estructura del sistema de archivos, y las interfaces de red. Contenedores múltiples comparten el mismo núcleo, pero cada contenedor puede ser restringido a utilizar solo una cantidad definida de recursos como CPU, memoria y E / S.

Usar Docker para crear y gestionar contenedores puede simplificar la creación de sistemas altamente distribuidos, permitiendo que múltiples aplicaciones, las tareas de los trabajadores y otros procesos funcionen de forma autónoma en una única máquina física o en varias máquinas virtuales. Esto permite que el despliegue de nodos se realice a medida que se dispone de recursos o cuando se necesiten más nodos, lo que permite una plataforma como servicio (PaaS - Platform as a Service) de estilo de despliegue y ampliación de los sistemas como Apache Cassandra, MongoDB o Riak. Docker también simplifica la creación y el funcionamiento de las tareas de carga de trabajo o las colas y otros sistemas distribuidos. [13][14]

Instalación en Ubuntu Linux

La última versión de largo término (LTS) de ubuntu es la Focal Fossa (20.04) [1]. Esta distribución aporta en sus repositorios oficiales la posibilidad de instalar Docker. Por ello el procedimiento de instalación es simple:

Actualización del Ubuntu

  • $ sudo apt update
  • $ sudo apt upgrade

Con la introducción secuencial de estos dos comandos se logra actualizar el sistema a partir de la conectividad a algún repositorio de Ubuntu.

Instalación en modo consola

  • $ sudo apt-get install docker.io Uso del comando apt para installar docker
  • $ sudo systemctl enable –now docker Habilitación o inicio de docker y configuración para que inicie despues de un reinio o comienzo del sistema operativo
  • $ sudo usermod -aG docker USUARIO USUARIO: nombre del usuario Linux. Con el comando se le da acceso al USUARIO al grupo de usuarios Docker
  • REINICIO del sistema o del usuario.

Verificación de la instalación

$ docker --version Con este comando la respuesta debe ser análoga a la siguiente: Docker version 19.03.8, build afacb8b7f0 Por supuesto los datos que devuelve dependen de la versión de docker instalada. Docker posee todo un amplio conjunto de comandos que facilitan el manejo de los contenedores y su gestión [15]

Imágenes para crear contenedores

Los dos elementos fundamentales de Docker son las imágenes y los propios contenedores creados con ellas. En su esencia, una imagen es una especie de plantilla, con la que se pueden crear contenedores y en este proceso nunca cambian. Claro que un contenedor puede ser modificado y con él se puede a su vez crear una plantilla. También con una plantilla puede ser creada otra que resultaría ser una versión modificada de la misma. Así dada una imagen “padre” pueden crearse diversas modificadas.

Una imagen dada se personaliza con un identificados numérico (ID) mas una designación alfanumérica. Ejemplo debian:latest. Existen disponibles numerosas imágenes públicas en internet. Las imágenes se hallan almacenadas en registros (Repositorios) que pueden ser locales (creados localmente) o remotos (internet o en redes privadas).[16].

El registro que quizás sea el más empleado públicamente se nombre Dockerhub [2] De este registro es posible no sólo extraer imágenes sino también “subir” imágenes creadas por usuarios. En el caso de que se disponga del acceso al sitio el comando de obtención de una imagen dada es simple: $ docker pull <nombre de la imagen> Ejemplo: $ docker pull debian En este caso se descarga de dockerhub la versión última estable de la distribución debian. Si se desea es posible especificar la variante de la distribución que interese. Por ejemplo: $ docker pull ubuntu:14.04 descarga de dockerhub la versión 14.04 de Ubuntu. Las distribuciones más importantes de Linux mantienen en dockerhub versiones “oficiales” de sus sistemas operativos. Asimismo existen numerosas imágenes compartidas por infinidad de desarrolladores orientadas a servicios específicos. No obstante si no se dispone del acceso antes mencionado se pueden localizar imágenes en diversos sitios de internet. Por ejemplo la imagen “oficial“ de ubuntu se puede descargar (enero 2021) desde: tianon docker-brew-ubuntu-core .

Integración

Docker se puede integrar con diferentes herramientas de infraestructura, como Amazon Web Services,[17] [2]],[18] CFEngine,[19] Chef,[20] Google Cloud Platform,[21] DigitalOcean,[22] IBM Bluemix,[23] Jelastic,[24] Jenkins,[25] Microsoft Azure,[26] OpenStack Nova,[27] OpenSVC,[28] Puppet (software),[29] Salt,[30] y [[3]].[31]

El proyecto Cloud Foundry Diego integra Docker con Cloud Foundry PaaS.[32]

El proyecto GearD tiene como objetivo integrar Docker en el de Red Hat OpenShift. [33]

En respuesta a la disponibilidad de estas integraciones, la plataforma de monitoreo, Datadog, desarrolló un reportaje sobre la tasa de adopción de los servicios de Docker por 7 000 empresas con infraestructuras basadas en la nube.[34][35]

Historia

Solomon Hykes comenzó Docker como un proyecto interno dentro dotCloud,[36] empresa enfocado a una plataforma como un servicio (PaaS),[37] con las contribuciones iniciales de otros ingenieros de dotCloud, incluyendo Andrea Luzzardi y Francois-Xavier Bourlet. Jeff Lindsay también participó como colaborador independiente. Docker representa una evolución de la tecnología patentada de dotCloud, que es a su vez construida sobre proyectos de código abierto anteriores como Cloudlets.

Docker fue liberado como código abierto en marzo de 2013.[11] El 13 de marzo de 2014, con el lanzamiento de la versión 0.9, Docker dejó de utilizar LXC como el entorno de ejecución por defecto y lo reemplazó con su propia biblioteca, libcontainer, escrito en Go.[7][12] El 13 de abril de 2015, el proyecto tenía más de 20 700 estrellas de GitHub (haciéndolo uno de los proyectos con más estrellas de GitHub, en 20ª posición), más de 4 700 bifurcaciones (forks), y casi 900 colaboradores.[38]

Un análisis en 2018 mostró las siguientes organizaciones como las principales contribuyentes de Docker: Red Hat (mayores contribuyentes, aún más que el equipo de Docker en sí), el equipo de Docker, Microsoft, IBM, Google, Cisco Systems y Amadeus IT Group.[39]

El 29 de julio de 2020 se dio a conocer la existencia de Doki, un malware que corre en el sistema operativo Linux que tiene por finalidad infectar la API de los contenedores Docker mal configurado. Algunas de sus acciones son las siguientes[40]:

  • Crea URL única con vidas cortas para descargar payloads durante el ataque.
  • Ha sido creado para ejecutar comandos recibidos desde sus operadores.
  • Usa la biblioteca TLS para funciones criptograficas.

Colaboración

  • El 23 de julio de 2013, dotCloud Inc., la entidad comercial detrás de Docker, anunció que el ex CEO de Gluster y Plaxo, Ben Golub se había unido a la compañía, citando Docker como el principal foco de la empresa en adelante.[41]
  • El 23 de julio de 2014, Docker adquirió la Orchard, hacedores de Fig.[44]
  • El 16 de septiembre de 2014, Docker anunció que había completado una ronda de US$ 40 M de la Serie C, liderado por Sequoia Capital.[45]
  • El 15 de octubre de 2014, Microsoft anunció la integración del motor acoplable a la liberación de Windows Server 2016 y soporte nativo para el rol de cliente Docker en Windows.[46][47]
  • El 4 de diciembre de 2014, IBM anunció una alianza estratégica con Docker que permite a las empresas la más eficiente, rápida y rentable generación y ejecución de la próxima generación de aplicaciones en la nube de IBM ("IBM Cloud").[48]
  • El 7 de junio de 2016, HPE (Hewlett Packard Enterprise) anunció una alianza empresarial mundial con Docker que incluye una aproximación conjunta al mercado, venta de soluciones, ingeniería, soporte, servicios e intercambio de conocimientos para ayudar a los clientes a transformar y modernizar sus centros de datos, así como beneficiarse de un entorno de desarrollo más ágil. En el corazón de esta alianza está el programa HPE Docker Ready Server, único en la industria de los servidores, lo que garantiza que los servidores de HPE llevarán acoplado Docker y contarán con soporte comercial.[49]

Véase también

Enlaces externos

Referencias