stringtranslate.com

acoplador (software)

Antiguo logotipo

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

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. [7] Debido a que todos los contenedores comparten los servicios de un único kernel del sistema operativo , utilizan menos recursos que las máquinas virtuales . [5]

Operación

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

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 , en la nube pública (ver computación descentralizada , computación distribuida y computación en la nube ) o privada . [9] Cuando se ejecuta en Linux, Docker utiliza las funciones 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 ) [10] para permitir que los contenedores se ejecuten dentro de un único Linux. Por ejemplo, evitando la sobrecarga de iniciar y mantener máquinas virtuales . [11] Docker en macOS utiliza una máquina virtual Linux para ejecutar los contenedores. [12]

Debido a que los contenedores Docker son livianos , un único servidor o máquina virtual puede ejecutar varios contenedores simultáneamente. [13] Un análisis de 2018 encontró 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. [14] También se puede instalar en una computadora de placa única como la Raspberry Pi . [15]

El soporte del kernel de Linux para espacios de nombres en su mayoría [16] aísla la vista de una aplicación del entorno operativo, incluidos árboles de procesos, redes, ID de usuario y sistemas de archivos montados, mientras que los cgroups del kernel proporcionan limitación de recursos para la memoria y la CPU. [17] Desde la versión 0.9, Docker incluye su propio componente (llamado libcontainer ) para usar las funciones de virtualización proporcionadas directamente por el kernel de Linux, además de usar interfaces de virtualización abstractas a través de libvirt , LXC y systemd-nspawn . [18] [8] [9] [19]

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

Modelo de licencia

Componentes

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

Un ejemplo ilustrativo de un Dockerfile: [27]

ARG CODE_VERSION = último DESDE ubuntu:${CODE_VERSION} COPIAR  ./archivoejemplo.txt  /archivoejemplo.txtENV MY_ENV_VARIABLE = "valor_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

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

Docker debutó al público en Santa Clara en PyCon en 2013. [46] Fue lanzado como código abierto en marzo de 2013. [20] 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 fue escrito en el lenguaje de programación Go . [18] [47]

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

Adopción

Ver también

Referencias

  1. ^ Barbier, Julien (9 de junio de 2014). "Ya está aquí: Docker 1.0". Docker . Docker, Inc. Consultado el 30 de septiembre de 2019 .
  2. ^ "Versión 25.0.3". 7 de febrero de 2024 . Consultado el 19 de febrero de 2024 .
  3. ^ "Código fuente de Docker". repositorio acoplable/distribución . Docker, Inc. 12 de octubre de 2015 . Consultado el 24 de octubre de 2015 – vía GitHub .
  4. ^ O'Gara, Maureen (26 de julio de 2013). "Ben Golub, que vendió Gluster a Red Hat, ahora ejecuta dotCloud". Medios SYS-CON. Archivado desde el original el 13 de septiembre de 2019.
  5. ^ ab "¿Qué es un contenedor?". docker.com . Docker, Inc. Consultado el 13 de mayo de 2019 .
  6. ^ Ratan, Vivek (8 de febrero de 2017). "Docker: uno de los favoritos en el mundo DevOps". Código abierto para U. Consultado el 14 de junio de 2017 .
  7. ^ "Preguntas frecuentes (FAQ) de Docker". 2 de marzo de 2019.
  8. ^ ab "Docker 0.9: Presentación de controladores de ejecución y libcontainer". Blog acoplable . Docker, Inc. 10 de marzo de 2014 . Consultado el 20 de enero de 2015 .
  9. ^ 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 .
  10. ^ "Seleccione la documentación del controlador de almacenamiento". Documentación acoplable . Archivado desde el original el 6 de diciembre de 2016 . Consultado el 7 de diciembre de 2016 .
  11. ^ "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 .
  12. ^ "Comience a usar Docker para Mac". docker.com . Docker, Inc. Consultado el 27 de septiembre de 2018 .
  13. ^ K., Chris (14 de enero de 2019). "Contenedores ligeros de Windows: uso del aislamiento de procesos de Docker en Windows 10". Usuario de poder . 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.
  14. ^ "8 datos sorprendentes sobre la adopción real de Docker". Perro de datos . Junio ​​de 2018 . Consultado el 4 de septiembre de 2019 .
  15. ^ Gupta, Devender (13 de octubre de 2022). "Cómo instalar Docker en Raspberry Pi". Gizmoxo . Consultado el 15 de octubre de 2022 .
  16. ^ Walsh, Dan (15 de septiembre de 2014). "Otra razón más por la que los contenedores no contienen: llaveros de kernel". proyectoatomic.io . Consultado el 13 de abril de 2015 .
  17. ^ "Limitar los recursos de un contenedor". Documentación de Docker . Consultado el 7 de marzo de 2018 .
  18. ^ ab Vaughan-Nichols, Steven J. (11 de junio de 2014). "Docker libcontainer unifica los poderes de los contenedores de Linux". ZDNet . Consultado el 30 de julio de 2014 .
  19. ^ "libcontainer: implementación de referencia para contenedores". repositorio acoplable/libcontainer . Docker, Inc. Consultado el 30 de julio de 2014 – vía GitHub .
  20. ^ ab Avram, Abel (27 de marzo de 2013). "Docker: implementaciones de software automatizadas y consistentes". InfoQ . Consultado el 9 de agosto de 2013 .
  21. ^ abcdefg "Descripción general de Docker". Documentación de Docker . Docker, Inc. Consultado el 26 de febrero de 2018 .
  22. ^ "acoplado". Documentación de Docker . Docker, Inc. Consultado el 26 de febrero de 2018 .
  23. ^ "Utilice la línea de comando de Docker". Documentación de Docker . Docker, Inc. Consultado el 26 de febrero de 2018 .
  24. ^ "El ecosistema Docker: una introducción a los componentes comunes". www.digitalocean.com . Consultado el 26 de febrero de 2018 .
  25. ^ "Acerca del registro". Documentación de Docker . Docker, Inc. Consultado el 26 de febrero de 2018 .
  26. ^ "Trabajar con notificaciones". 2 de marzo de 2019.
  27. ^ "Referencia del archivo Docker". Documentación de Docker . 14 de noviembre de 2023 . Consultado el 30 de noviembre de 2023 .
  28. ^ "Descripción general de Docker Compose". Documentación de Docker . Docker, Inc. Consultado el 6 de julio de 2017 .
  29. ^ "Redactar referencia de línea de comandos". Documentación de Docker . Docker, Inc. Consultado el 28 de febrero de 2018 .
  30. ^ "Orquestar contenedores para el desarrollo con Docker Compose". vía @codeship . 27 de mayo de 2015 . Consultado el 28 de febrero de 2018 .
  31. ^ "Referencia de la versión 3 del archivo de redacción". Documentación de Docker . Docker, Inc. Consultado el 28 de febrero de 2018 .
  32. ^ Primer hombre, Ben (21 de diciembre de 2013). "Versión 0.0.1". ventana acoplable/componer . Docker, Inc. – vía GitHub .
  33. ^ Prasad, Aanand (16 de octubre de 2014). "Versión 1.0.0". ventana acoplable/componer . Docker, Inc. – vía GitHub .
  34. ^ "Ocho herramientas de orquestación de contenedores que debe conocer". Linux.com . 12 de abril de 2017 . Consultado el 6 de julio de 2017 .
  35. ^ "Enjambre Docker". Documentación de Docker . Docker, Inc. Consultado el 6 de julio de 2017 .
  36. ^ "Enjambre de Docker". 4 de junio de 2021.
  37. ^ "Referencia de línea de comandos de Swarm". Documentación de Docker . Docker, Inc. Consultado el 28 de febrero de 2018 .
  38. ^ "nodo acoplable". Documentación de Docker . Consultado el 28 de febrero de 2018 .
  39. ^ "Enjambre Docker 101". aquasec.com . Consultado el 28 de febrero de 2018 .
  40. ^ "Algoritmo de consenso de balsa". balsa.github.io . Consultado el 28 de febrero de 2018 .
  41. ^ "Guías de Docker Desktop y Docker". 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 .
  42. ^ Hykes, Solomon (28 de marzo de 2018). "Hasta la vista". docker.com . Archivado desde el original el 12 de enero de 2021 . Consultado el 23 de enero de 2021 .
  43. ^ "Acerca de la plataforma dotCloud". nube de puntos . Archivado desde el original el 2 de julio de 2014 . Consultado el 23 de junio de 2019 .
  44. ^ Seigler, MG (10 de enero de 2011). "Founders Den: se abre una casa club privada para emprendedores en San Francisco". TechCrunch . Archivado desde el original el 29 de marzo de 2016 . Consultado el 2 de febrero de 2021 .
  45. ^ "Un hogar para todas tus aplicaciones". dotcloud.com . Archivado desde el original el 17 de mayo de 2014 . Consultado el 8 de mayo de 2014 .
  46. ^ "El futuro de los contenedores de Linux". Canal DotCloud . Consultado el 13 de julio de 2018 – vía YouTube .
  47. ^ Swan, Chris (13 de marzo de 2014). "Docker elimina LXC como entorno de ejecución predeterminado". InfoQ . Consultado el 20 de enero de 2015 .
  48. ^ "Desmitificando la relación entre Moby y Docker: bienvenido a Collabnix". 6 de mayo de 2017.
  49. ^ "DotCloud gira 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 .
  50. ^ 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 .
  51. ^ 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 .
  52. ^ Barr, Jeff (13 de noviembre de 2014). "Amazon EC2 Container Service (ECS): gestión de contenedores para la nube de AWS". Blog de servicios web de Amazon . Consultado el 29 de abril de 2017 .
  53. ^ 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 .
  54. ^ "IBM y Docker anuncian una asociación estratégica para ofrecer aplicaciones empresariales en la nube y en las instalaciones". IBM . 4 de diciembre de 2014 . Consultado el 20 de abril de 2015 .
  55. ^ Lardinois, Frederic (22 de junio de 2015). "Docker, CoreOS, Google, Microsoft, Amazon y otros se unen para desarrollar un estándar de contenedor común". TechCrunch . Consultado el 8 de agosto de 2015 .
  56. ^ Siluk, Shirley (22 de junio de 2015). "Docker, equipo de gigantes tecnológicos en proyecto de contenedor abierto". cio-today.com . Archivado desde el original el 23 de septiembre de 2015 . Consultado el 8 de agosto de 2015 .
  57. ^ McLaughlin, Kevin (22 de diciembre de 2015). "Oracle adquiere StackEngine, la startup de contenedores Docker, planea un centro de computación en la nube con sede en Austin". CRN . Consultado el 13 de enero de 2022 .
  58. ^ Yegulalp, Serdar (4 de abril de 2016). "Windocks hace lo que Docker y Microsoft no pueden hacer". InfoMundo . Consultado el 27 de octubre de 2018 .
  59. ^ "Docker: estadísticas actualizadas del proyecto". Esencia de GitHub . Consultado el 22 de agosto de 2016 .
  60. ^ Sarkar, Doña (8 de junio de 2016). "Anuncio de Windows 10 Insider Preview Build 14361". Blogs de Windows . Microsoft . Consultado el 19 de junio de 2016 .
  61. ^ Mullany, Michael. "Análisis del impulso de Docker 2016". Pulso de LinkedIn . Consultado el 5 de enero de 2017 .
  62. ^ Vaughan-Nichols, Steven (18 de junio de 2019). "Docker adopta el subsistema de Windows para Linux 2". ZDNet . CBS interactivo .
  63. ^ "La compatibilidad con 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 .
  64. ^ "Docker Desktop y WSL 2: actualización del backport". Blog acoplable . 20 de agosto de 2020 . Consultado el 21 de agosto de 2020 .
  65. ^ Carey, Scott (31 de agosto de 2021). "Docker Desktop ya no es gratuito para usuarios empresariales". InfoMundo . Consultado el 18 de octubre de 2021 .
  66. ^ 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