stringtranslate.com

Docker (software)

Antiguo logotipo

Docker es un conjunto de productos de plataforma como servicio (PaaS) que utilizan la virtualización a nivel de SO para entregar software en paquetes llamados contenedores . [5] El servicio tiene niveles gratuitos y premium. El software que aloja los contenedores se llama Docker Engine . [6] Se lanzó por primera vez en 2013 y está desarrollado por Docker, Inc. [7]

Docker es una herramienta que se utiliza para automatizar la implementación de aplicaciones en contenedores livianos para que las aplicaciones puedan funcionar de manera eficiente en diferentes entornos de forma aislada.

Fondo

Los contenedores están aislados unos de otros y agrupan su propio software, bibliotecas y archivos de configuración; pueden comunicarse entre sí a través de canales bien definidos. [8] Debido a que todos los contenedores comparten los servicios de un único núcleo del sistema operativo , utilizan menos recursos que las máquinas virtuales . [6]

Operación

Docker puede utilizar diferentes interfaces para acceder a las funciones de virtualización del kernel de Linux. [9]

Docker puede empaquetar una aplicación y sus dependencias en un contenedor virtual que puede ejecutarse en cualquier computadora Linux , Windows o macOS . Esto permite que la aplicación se ejecute en una variedad de ubicaciones, como en las instalaciones locales , en la nube pública (consulte computación descentralizada , computación distribuida y computación en la nube ) o privada . [10] Cuando se ejecuta en Linux, Docker usa las características de aislamiento de recursos del kernel de Linux (como cgroups y espacios de nombres del kernel ) y un sistema de archivos con capacidad de unión (como OverlayFS ) [11] para permitir que los contenedores se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales . [12] Docker en macOS usa una máquina virtual Linux para ejecutar los contenedores. [13]

Debido a que los contenedores Docker son livianos , un solo servidor o máquina virtual puede ejecutar varios contenedores simultáneamente. [14] Un análisis de 2018 descubrió que un caso de uso típico de Docker implica ejecutar ocho contenedores por host, y que una cuarta parte de las organizaciones analizadas ejecutan 18 o más por host. [15] También se puede instalar en una computadora de placa única como Raspberry Pi . [16]

El soporte del kernel de Linux para espacios de nombres principalmente [17] aísla la vista de una aplicación del entorno operativo, incluyendo árboles de procesos, red, ID de usuario y sistemas de archivos montados, mientras que los cgroups del kernel proporcionan limitación de recursos para memoria y CPU. [18] Desde la versión 0.9, Docker incluye su propio componente (llamado libcontainer ) para utilizar facilidades de virtualización proporcionadas directamente por el kernel de Linux, además de utilizar interfaces de virtualización abstraídas a través de libvirt , LXC y systemd-nspawn . [19] [9] [10] [20]

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

Modelo de licencia

Componentes

La oferta de software como servicio de Docker consta de tres componentes:

Un ejemplo de un Dockerfile: [29]

ARG CODE_VERSION = último DESDE ubuntu:${VERSIÓN_CÓDIGO} COPIA  ./ejemplo.txt  /ejemplo.txtENV MY_ENV_VARIABLE = "valor_de_ejemplo" EJECUTAR  apt-get  update# Montar un directorio desde el volumen Docker# Nota: Esto generalmente se especifica en el comando 'docker run'.VOLUMEN [ "/mivolumen" ] # Exponer un puerto (22 para SSH)EXPONER 22 

Herramientas

Historia

dotCloud Inc. fue fundada por Kamel Founadi, Solomon Hykes y Sebastien Pahl [44] durante el grupo de incubación de startups Y Combinator Summer 2010 y se lanzó en 2011, y cambió su nombre a Docker Inc. en 2013. [45] La startup también fue una de las 12 startups en la primera cohorte de Founder's Den . [46] Hykes comenzó el proyecto Docker en Francia como un proyecto interno dentro de dotCloud , una empresa de plataforma como servicio . [47]

Docker debutó al público en Santa Clara en PyCon en 2013. [48] Fue lanzado como código abierto en marzo de 2013. [21] En ese momento, usaba LXC como su entorno de ejecución predeterminado. Un año después, con el lanzamiento de la versión 0.9, Docker reemplazó LXC con su propio componente, libcontainer , que estaba escrito en el lenguaje de programación Go . [19] [49]

En 2017, Docker creó el proyecto Moby  [d] para investigación y desarrollo abiertos. [50]

Adopción

Véase también

Referencias

  1. ^ Barbier, Julien (9 de junio de 2014). "It's Here: Docker 1.0". Docker . Docker, Inc . Consultado el 30 de septiembre de 2019 .
  2. ^ "v27.3.1". 20 de septiembre de 2024. Consultado el 20 de septiembre de 2024 .
  3. ^ "Código fuente de Docker". repositorio docker/distribution . Docker, Inc. 12 de octubre de 2015 . Consultado el 24 de octubre de 2015 – a través de GitHub .
  4. ^ "Acuerdo de licencia de Docker Desktop". 11 de septiembre de 2024.
  5. ^ O'Gara, Maureen (26 de julio de 2013). "Ben Golub, que vendió Gluster a Red Hat, ahora dirige dotCloud". SYS-CON Media. Archivado desde el original el 13 de septiembre de 2019.
  6. ^ ab "¿Qué es un contenedor?". docker.com . Docker, Inc. Consultado el 13 de mayo de 2019 .
  7. ^ Ratan, Vivek (8 de febrero de 2017). "Docker: un favorito en el mundo DevOps". Código abierto para EE. UU . Recuperado el 14 de junio de 2017 .
  8. ^ "Preguntas frecuentes sobre Docker". 2 de marzo de 2019.
  9. ^ ab "Docker 0.9: Introducción de controladores de ejecución y libcontainer". Blog de Docker . Docker, Inc. 10 de marzo de 2014. Consultado el 20 de enero de 2015 .
  10. ^ ab Noyes, Katherine (1 de agosto de 2013). «Docker: un 'contenedor de envío' para código Linux». Linux.com . Archivado desde el original el 8 de agosto de 2013. Consultado el 9 de agosto de 2013 .
  11. ^ "Seleccionar un controlador de almacenamiento" Documentación de Docker . Archivado desde el original el 6 de diciembre de 2016 . Consultado el 7 de diciembre de 2016 .
  12. ^ "Docker Documentation: Kernel Requirements" (Docker Documentación de Docker: requisitos del kernel). docker.readthedocs.org . 4 de enero de 2014. Archivado desde el original el 21 de agosto de 2014 . Consultado el 20 de agosto de 2014 .
  13. ^ "Comienza a usar Docker para Mac". docker.com . Docker, Inc . Consultado el 27 de septiembre de 2018 .
  14. ^ K., Chris (14 de enero de 2019). "Contenedores ligeros de Windows: uso del aislamiento de procesos de Docker en Windows 10". Poweruser . Consultado el 2 de agosto de 2019 . contenedores reales más "ligeros" (a través del llamado aislamiento de procesos), donde los procesos en contenedores se ejecutan directamente en el sistema host: todos los procesos en el host y en los contenedores comparten el mismo kernel de Windows. Esto es similar a cómo funcionan los contenedores en Linux.
  15. ^ "8 datos sorprendentes sobre la adopción real de Docker". Datadog . Junio ​​de 2018 . Consultado el 4 de septiembre de 2019 .
  16. ^ Gupta, Devender (13 de octubre de 2022). «Cómo instalar Docker en Raspberry Pi». Gizmoxo . Consultado el 15 de octubre de 2022 .
  17. ^ Walsh, Dan (15 de septiembre de 2014). "Otra razón más por la que los contenedores no contienen: llaveros de kernel". projectatomic.io . Consultado el 13 de abril de 2015 .
  18. ^ "Limita los recursos de un contenedor". Documentación de Docker . Consultado el 7 de marzo de 2018 .
  19. ^ ab Vaughan-Nichols, Steven J. (11 de junio de 2014). "Docker libcontainer unifica las capacidades de los contenedores de Linux". ZDNet . Consultado el 30 de julio de 2014 .
  20. ^ "libcontainer – implementación de referencia para contenedores". repositorio docker/libcontainer . Docker, Inc . Consultado el 30 de julio de 2014 – a través de GitHub .
  21. ^ ab Avram, Abel (27 de marzo de 2013). "Docker: Implementaciones de software automatizadas y consistentes". InfoQ . Consultado el 9 de agosto de 2013 .
  22. ^ "Obtener Docker". 11 de septiembre de 2024.
  23. ^ abcdefg «Descripción general de Docker». Documentación de Docker . Docker, Inc. Consultado el 26 de febrero de 2018 .
  24. ^ "dockerd". Documentación de Docker . Docker, Inc . Consultado el 26 de febrero de 2018 .
  25. ^ "Usar la línea de comandos de Docker". Documentación de Docker . Docker, Inc. Consultado el 26 de febrero de 2018 .
  26. ^ "El ecosistema Docker: una introducción a los componentes comunes". www.digitalocean.com . Consultado el 26 de febrero de 2018 .
  27. ^ "Acerca del Registro". Documentación de Docker . Docker, Inc . Consultado el 26 de febrero de 2018 .
  28. ^ "Trabajar con notificaciones". 2 de marzo de 2019.
  29. ^ "Referencia de Dockerfile". Documentación de Docker . 14 de noviembre de 2023 . Consultado el 30 de noviembre de 2023 .
  30. ^ "Descripción general de Docker Compose". Documentación de Docker . Docker, Inc . Consultado el 6 de julio de 2017 .
  31. ^ "Referencia de línea de comandos de Compose". Documentación de Docker . Docker, Inc . Consultado el 28 de febrero de 2018 .
  32. ^ "Orquestación de contenedores para el desarrollo con Docker Compose". vía @codeship . 27 de mayo de 2015 . Consultado el 28 de febrero de 2018 .
  33. ^ "Referencia de la versión 3 del archivo Compose". Documentación de Docker . Docker, Inc. Consultado el 28 de febrero de 2018 .
  34. ^ Firshman, Ben (21 de diciembre de 2013). "Versión 0.0.1". docker/compose . Docker, Inc. – vía GitHub .
  35. ^ Prasad, Aanand (16 de octubre de 2014). "Versión 1.0.0". docker/compose . Docker, Inc. – vía GitHub .
  36. ^ "8 herramientas de orquestación de contenedores que debe conocer". Linux.com . 12 de abril de 2017 . Consultado el 6 de julio de 2017 .
  37. ^ "Docker Swarm". Documentación de Docker . Docker, Inc. Recuperado el 6 de julio de 2017 .
  38. ^ "Enjambre de Dockers". 4 de junio de 2021.
  39. ^ "Referencia de línea de comandos de Swarm". Documentación de Docker . Docker, Inc. Recuperado el 28 de febrero de 2018 .
  40. ^ "nodo de Docker". Documentación de Docker . Consultado el 28 de febrero de 2018 .
  41. ^ "Docker Swarm 101". aquasec.com . Consultado el 28 de febrero de 2018 .
  42. ^ "Algoritmo de consenso de Raft". raft.github.io . Consultado el 28 de febrero de 2018 .
  43. ^ "Docker Desktop & Docker Guides". Guía de Docker . 25 de abril de 2021. Archivado desde el original el 25 de abril de 2021. Consultado el 25 de abril de 2021 .
  44. ^ Hykes, Solomon (28 de marzo de 2018). "Au Revoir". docker.com . Archivado desde el original el 12 de enero de 2021 . Consultado el 23 de enero de 2021 .
  45. ^ "Acerca de la plataforma dotCloud". dotCloud . Archivado desde el original el 2 de julio de 2014 . Consultado el 23 de junio de 2019 .
  46. ^ Seigler, MG (10 de enero de 2011). "Founders Den: A Private Clubhouse For Entrepreneurs Opens In San Francisco". TechCrunch . Archivado desde el original el 29 de marzo de 2016. Consultado el 2 de febrero de 2021 .
  47. ^ "Un lugar para todas tus aplicaciones". dotcloud.com . Archivado desde el original el 17 de mayo de 2014 . Consultado el 8 de mayo de 2014 .
  48. ^ "El futuro de los contenedores Linux". Canal DotCloud . 21 de marzo de 2013. Consultado el 13 de julio de 2018 – vía YouTube .
  49. ^ Swan, Chris (13 de marzo de 2014). "Docker elimina LXC como entorno de ejecución predeterminado". InfoQ . Consultado el 20 de enero de 2015 .
  50. ^ "Desmitificando la relación entre Moby y Docker: bienvenido a Collabnix". 6 de mayo de 2017.
  51. ^ "DotCloud da un giro y gana a lo grande con Docker, el servicio en la nube que ahora forma parte de Red Hat OpenShift". TechCrunch . 19 de septiembre de 2013 . Consultado el 20 de enero de 2014 .
  52. ^ Foley, Mary Jo (15 de octubre de 2014). "La compatibilidad con contenedores Docker llegará a la próxima versión de Windows Server de Microsoft". ZDNet . Consultado el 16 de octubre de 2014 .
  53. ^ Guthrie, Scott (15 de octubre de 2014). "Docker y Microsoft: integración de Docker con Windows Server y Microsoft Azure". Blog de ScottGu . Microsoft . Consultado el 12 de enero de 2015 .
  54. ^ Barr, Jeff (13 de noviembre de 2014). «Amazon EC2 Container Service (ECS): gestión de contenedores para la nube de AWS». Blog de Amazon Web Services . Consultado el 29 de abril de 2017 .
  55. ^ Rath, John (10 de noviembre de 2014). "Stratoscale recauda 32 millones de dólares para construir nubes OpenStack compatibles con Docker en servidores básicos" . Consultado el 3 de enero de 2016 .
  56. ^ "IBM y Docker anuncian una alianza estratégica para ofrecer aplicaciones empresariales en la nube y en las instalaciones". IBM . 4 de diciembre de 2014. Archivado desde el original el 10 de enero de 2015 . Consultado el 20 de abril de 2015 .
  57. ^ Lardinois, Frederic (22 de junio de 2015). "Docker, CoreOS, Google, Microsoft, Amazon y otros se unen para desarrollar un estándar de contenedores común". TechCrunch . Consultado el 8 de agosto de 2015 .
  58. ^ Siluk, Shirley (22 de junio de 2015). "Docker y gigantes tecnológicos se unen para un proyecto de contenedores abiertos". cio-today.com . Archivado desde el original el 23 de septiembre de 2015. Consultado el 8 de agosto de 2015 .
  59. ^ McLaughlin, Kevin (22 de diciembre de 2015). "Oracle adquiere la startup de contenedores Docker StackEngine y planea un centro de computación en la nube con sede en Austin". CRN . Consultado el 13 de enero de 2022 .
  60. ^ Yegulalp, Serdar (4 de abril de 2016). «Windocks hace lo que Docker y Microsoft no pueden hacer». InfoWorld . Consultado el 27 de octubre de 2018 .
  61. ^ "Docker – Estadísticas de proyecto actualizadas". GitHub Gist . Consultado el 22 de agosto de 2016 .
  62. ^ Sarkar, Dona (8 de junio de 2016). "Anuncio de la compilación 14361 de Windows 10 Insider Preview". Blogs de Windows . Microsoft . Consultado el 19 de junio de 2016 .
  63. ^ Mullany, Michael. "Análisis del dinamismo de Docker en 2016". LinkedIn Pulse . Consultado el 5 de enero de 2017 .
  64. ^ Vaughan-Nichols, Steven (18 de junio de 2019). "Docker adopta el subsistema de Windows para Linux 2". ZDNet . CBS Interactive .
  65. ^ "El soporte de WSL 2 llegará a las versiones 1903 y 1909 de Windows 10". Línea de comandos de Windows . 20 de agosto de 2020 . Consultado el 21 de agosto de 2020 .
  66. ^ "Docker Desktop & WSL 2 - Actualización de backport". Blog de Docker . 20 de agosto de 2020 . Consultado el 21 de agosto de 2020 .
  67. ^ Carey, Scott (31 de agosto de 2021). "Docker Desktop ya no es gratuito para los usuarios empresariales". InfoWorld . Consultado el 18 de octubre de 2021 .
  68. ^ Miller, Ron (11 de diciembre de 2023). «Docker adquiere AtomicJar, una startup de pruebas que recaudó 25 millones de dólares en enero». TechCrunch . Consultado el 13 de diciembre de 2023 .

Enlaces externos