Introducción

Docker es una plataforma de contenedorización que permite a los desarrolladores empaquetar aplicaciones y sus dependencias en contenedores. Estos contenedores son ligeros, portátiles y consistentes, lo que facilita el desarrollo, la prueba y la implementación de aplicaciones en diferentes entornos.

Conceptos Clave

  1. Contenedores

  • Definición: Un contenedor es una unidad estándar de software que empaqueta el código y todas sus dependencias para que la aplicación se ejecute de manera rápida y confiable en diferentes entornos.
  • Ventajas:
    • Portabilidad: Los contenedores pueden ejecutarse en cualquier sistema que tenga Docker instalado.
    • Consistencia: Garantizan que la aplicación se ejecute de la misma manera en desarrollo, prueba y producción.
    • Aislamiento: Cada contenedor opera de manera independiente, lo que mejora la seguridad y la gestión de recursos.

  1. Imágenes

  • Definición: Una imagen de Docker es una plantilla inmutable que contiene todo lo necesario para ejecutar una aplicación, incluyendo el código, las bibliotecas, las variables de entorno y los archivos de configuración.
  • Uso: Las imágenes se utilizan para crear contenedores. Una vez creada, una imagen puede ser reutilizada para lanzar múltiples contenedores.

  1. Docker Engine

  • Definición: Docker Engine es el motor de contenedorización que permite a los desarrolladores construir y ejecutar contenedores Docker.
  • Componentes:
    • Docker Daemon: El proceso que ejecuta comandos de Docker y administra contenedores, imágenes, redes y volúmenes.
    • Docker CLI: La interfaz de línea de comandos que permite a los usuarios interactuar con Docker Daemon.

Ejemplo Práctico

Para entender mejor qué es Docker, vamos a ver un ejemplo práctico de cómo se utiliza Docker para ejecutar una aplicación simple.

Paso 1: Instalación de Docker

Antes de comenzar, asegúrate de tener Docker instalado en tu sistema. Puedes seguir las instrucciones de instalación en la documentación oficial de Docker.

Paso 2: Ejecutar un Contenedor Docker

Vamos a ejecutar un contenedor Docker utilizando una imagen preexistente de Nginx, un servidor web popular.

docker run -d -p 8080:80 nginx

Explicación del Comando

  • docker run: Comando para ejecutar un contenedor.
  • -d: Ejecuta el contenedor en segundo plano (modo "detached").
  • -p 8080:80: Mapea el puerto 8080 de tu máquina local al puerto 80 del contenedor.
  • nginx: Especifica la imagen de Docker que se va a utilizar.

Paso 3: Verificar el Contenedor en Ejecución

Para verificar que el contenedor está en ejecución, puedes usar el siguiente comando:

docker ps

Este comando mostrará una lista de todos los contenedores en ejecución. Deberías ver algo similar a esto:

CONTAINER ID   IMAGE    COMMAND                  CREATED         STATUS         PORTS                  NAMES
a1b2c3d4e5f6   nginx    "nginx -g 'daemon of…"   2 minutes ago   Up 2 minutes   0.0.0.0:8080->80/tcp   amazing_turing

Paso 4: Acceder a la Aplicación

Abre tu navegador web y navega a http://localhost:8080. Deberías ver la página de bienvenida de Nginx, lo que indica que el contenedor está funcionando correctamente.

Ejercicio Práctico

Ejercicio 1: Ejecutar un Contenedor de Hello World

  1. Ejecuta el siguiente comando para lanzar un contenedor que imprime "Hello, World!":
docker run hello-world
  1. Observa la salida en la terminal. Deberías ver un mensaje que confirma que Docker está funcionando correctamente.

Solución

La salida debería ser algo similar a esto:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

Conclusión

En esta lección, hemos aprendido qué es Docker, los conceptos clave de contenedores e imágenes, y cómo ejecutar un contenedor simple. Docker facilita la creación, implementación y ejecución de aplicaciones en contenedores, proporcionando consistencia y portabilidad en diferentes entornos. En la próxima lección, aprenderemos cómo instalar Docker en diferentes sistemas operativos.


Resumen: Docker es una plataforma de contenedorización que permite empaquetar aplicaciones y sus dependencias en contenedores. Los contenedores son portátiles, consistentes y aislados, lo que facilita el desarrollo y la implementación de aplicaciones. En esta lección, hemos visto cómo ejecutar un contenedor simple utilizando Docker.

© Copyright 2024. Todos los derechos reservados