Aprender Docker, un enfoque práctico
eBook - ePub

Aprender Docker, un enfoque práctico

  1. 306 páginas
  2. Spanish
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Aprender Docker, un enfoque práctico

Descripción del libro

Si quiere aprender a utilizar la tecnología de contenedores que ha revolucionado el desarrollo y la distribución de aplicaciones web, ha llegado al libro indicado.Antes de que Docker apareciese en la industria del desarrollo de software, era complicado garantizar la consistencia entre los entornos de desarrollo y producción. Era habitual encontrarse con aplicaciones que no se ejecutaban de forma correcta en el entorno de producción porque utilizaban dependencias con diferentes versiones de las que se habían utilizado en el entorno de desarrollo.La tecnología de contenedores de software soluciona este problema, ya que permite empaquetar y distribuir una aplicación con todas las dependencias que necesita garantizando que se va a ejecutar de la misma manera sobre cualquier tipo de infraestructura. Gracias a esta forma de desarrollar y distribuir las aplicaciones, se ha conseguido eliminar las inconsistencias entre los entornos de desarrollo y producción.Los desarrolladores de aplicaciones ya no necesitan crear máquinas virtuales pesadas en sus equipos de trabajo. Docker les permite disponer de un entorno de desarrollo mucho más ligero, que utiliza menos recursos y ofrece mayores prestaciones.El uso de los contenedores ha permitido acelerar el proceso de desarrollo de las aplicaciones, así como facilitar la forma de distribuirlas y la automatización del despliegue en producción. Cada vez hay más equipos de desarrollo y operaciones que están utilizando la tecnología de contenedores Docker en sus flujos de trabajo. Si todavía no sabe utilizar Docker y quiere aprender para mejorar profesionalmente, no espere más, este libro le ayudará a conseguirlo.José Juan Sánchez Hernández es ingeniero en Informática y tiene un máster en Técnicas Informáticas Avanzadas por la Universidad de Almería, donde trabajó como investigador. Sus principales líneas de investigación están en el área de la compresión y transmisión de imágenes, sobre las que ha realizado publicaciones en congresos nacionales e internacionales. También ha trabajado como analista de sistemas y programador en el ámbito de la empresa pública y privada. Actualmente desarrolla su carrera profesional como profesor de enseñanza secundaria en la especialidad de Informática y es docente en los ciclos formativos de grado superior de Administración de Sistemas Informáticos en Red y Desarrollo de Aplicaciones Web.

Preguntas frecuentes

Sí, puedes cancelar tu suscripción en cualquier momento desde la pestaña Suscripción en los ajustes de tu cuenta en el sitio web de Perlego. La suscripción seguirá activa hasta que finalice el periodo de facturación actual. Descubre cómo cancelar tu suscripción.
No, los libros no se pueden descargar como archivos externos, como los PDF, para usarlos fuera de Perlego. Sin embargo, puedes descargarlos en la aplicación de Perlego para leerlos sin conexión en el móvil o en una tableta. Obtén más información aquí.
Perlego ofrece dos planes: Essential y Complete
  • El plan Essential es ideal para los estudiantes y los profesionales a los que les gusta explorar una amplia gama de temas. Accede a la biblioteca Essential, con más de 800 000 títulos de confianza y superventas sobre negocios, crecimiento personal y humanidades. Incluye un tiempo de lectura ilimitado y la voz estándar de «Lectura en voz alta».
  • Complete: perfecto para los estudiantes avanzados y los investigadores que necesitan un acceso completo sin ningún tipo de restricciones. Accede a más de 1,4 millones de libros sobre cientos de temas, incluidos títulos académicos y especializados. El plan Complete también incluye funciones avanzadas como la lectura en voz alta prémium y el asistente de investigación.
Ambos planes están disponibles con un ciclo de facturación mensual, semestral o anual.
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¡Sí! Puedes usar la aplicación de Perlego en dispositivos iOS o Android para leer cuando y donde quieras, incluso sin conexión. Es ideal para cuando vas de un lado a otro o quieres acceder al contenido sobre la marcha.
Ten en cuenta que no será compatible con los dispositivos que se ejecuten en iOS 13 y Android 7 o en versiones anteriores. Obtén más información sobre cómo usar la aplicación.
Sí, puedes acceder a Aprender Docker, un enfoque práctico de José Juan Sánchez Hernández en formato PDF o ePUB, así como a otros libros populares de Ciencia de la computación y Programación. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Editorial
Marcombo
Año
2022
ISBN del libro electrónico
9788426734488
Edición
1
Categoría
Programación

CAPÍTULO 1

Conceptos básicos

1.1. ¿Qué es Docker?

Cuando hablamos de Docker, podemos referirnos a la tecnología que permite desarrollar, desplegar y ejecutar aplicaciones en entornos aislados denominados «contenedores». O también podemos referirnos a la empresa Docker, Inc., que es la que desarrolla esta tecnología.

1.1.1. Docker como tecnología de contenedores

Docker permite empaquetar las aplicaciones en contenedores que incluyen todo lo necesario para que se puedan ejecutar en un entorno de manera aislada. Cada contenedor almacena el código fuente de la aplicación, los archivos de configuración y todas las dependencias software que necesita. Esta estrategia permite que las aplicaciones se puedan ejecutar de la misma manera sobre cualquier infraestructura que tenga soporte para Docker, tanto de forma local como en la nube.
Con la tecnología de contenedores para aplicaciones, ya no es necesario preocuparse por el software que está instalado en la máquina donde se ejecuta el contenedor, porque todo lo que necesita la aplicación está incluido dentro del propio contenedor. Esta forma de trabajar resuelve el problema de «it works on my machine», donde una aplicación puede funcionar correctamente en el entorno de desarrollo, pero tiene errores en el entorno de producción, porque los dos entornos no son idénticos y contienen versiones de software diferentes.
Cada vez hay más equipos de desarrollo y operaciones que están utilizando la tecnología de contenedores Docker en sus flujos de trabajo. Esto ha permitido acelerar el proceso de desarrollo de las aplicaciones, ha facilitado la forma de distribuirlas y ha acelerado la automatización del despliegue en producción.

1.1.2. Docker, Inc.

Docker, Inc. es una empresa tecnológica estadounidense que fue fundada por Solomon Hykes en 2008 como dotCloud. En sus orígenes, ofrecía servicios de PaaS (Platform as a Service) y, en marzo de 2013, liberó como un proyecto open source un componente de su plataforma al que llamó Docker. Este proyecto tuvo una gran aceptación y supuso un cambio significativo en la forma de desarrollar, distribuir y desplegar software.
En octubre de 2013, dotCloud pasó a llamarse Docker, Inc. y, a partir de ese momento, fue cuando la empresa decidió centrarse en el desarrollo de su tecnología de contenedores.

1.2. ¿Qué ventajas nos aporta el uso de Docker?

Las principales ventajas que nos aporta el uso de Docker son las siguientes:
Illustration
Soluciona el problema «it works on my machine».
Illustration
Permite tener un entorno de desarrollo limpio, seguro y portátil.
Illustration
Facilita la automatización de pruebas, integración y empaquetado.
Illustration
Posibilita empaquetar una aplicación con todas las dependencias que necesita (código fuente, librerías, configuración, etc.) para ser ejecutada en cualquier plataforma.
Illustration
Se eliminan inconsistencias entre los entornos de desarrollo, pruebas y producción.
Illustration
El proceso de despliegue es rápido y repetible.

1.3. Breve historia de las tecnologías de aislamiento

Antes de Docker, ya existían implementaciones de aislamiento de recursos, como chroot (1982), FreeBSD jail (2000), Solaris Zones (2004), cgroups (2006) o Linux Containers (LXC), en el año 2008.
En primer lugar, apareció la llamada del sistema chroot, que fue desarrollada para la versión 7 de UNIX (1979) y, posteriormente, se incorporó a la versión 4 de BSD (1980). Esta operación permite cambiar el directorio raíz del sistema de archivos de un proceso y de sus procesos hijos aislando, de esta manera, su ejecución e impidiendo que puedan acceder a los archivos que están por encima del nuevo directorio raíz.
Años más tarde, FreeBSD se basó en la idea de chroot para desarrollar FreeBSD jail (2000), una implementación que permitía dividir un sistema en varios subsistemas llamados «jaulas» o jails. Todas las jaulas comparten el mismo kernel del sistema operativo anfitrión. Cada jaula puede tener un directorio raíz aislado del resto de sistema de archivos, su propio grupo de usuarios, su propio nombre de host y su propia dirección IP.
En 2004, se liberó el proyecto Solaris Zones, que permitía aislar la ejecución de los procesos del resto del sistema metiéndolos en zonas o sandboxes. Cada zona se comporta como un servidor virtual completamente aislado.
En 2006, los ingenieros de Google empezaron a trabajar en lo que más tarde se llamaría cgroups o «grupos de control». Los grupos de control son un mecanismo que permiten controlar la asignación de recursos a los procesos. Permiten definir jerarquías en las que se agrupan los procesos y establecer cu...

Índice

  1. Cubierta
  2. Título
  3. Créditos
  4. Índice general
  5. Lista de siglas y acrónimos
  6. Acerca de este libro
  7. Capítulo 1 Conceptos básicos
  8. Capítulo 2 Instalación de Docker
  9. Capítulo 3 Imágenes Docker
  10. Capítulo 4 Contenedores Docker
  11. Capítulo 5 Almacenamiento en Docker
  12. Capítulo 6 Redes en Docker
  13. Capítulo 7 Docker Compose
  14. Anexo Adocker system