¿Qué es Docker? Introducción a los contenedores

Lección 1 del curso de Docker.

¿Qué es Docker?

Docker es una plataforma de código abierto que permite empaquetar una aplicación junto con todo lo que necesita para funcionar (código, librerías, dependencias y configuración) dentro de una unidad estandarizada llamada contenedor. Gracias a eso, la aplicación se ejecuta exactamente igual en el portátil de un desarrollador, en un servidor de pruebas o en producción.

Docker nació para resolver un problema clásico del desarrollo de software: "en mi máquina funciona". Cada entorno tenía versiones distintas de librerías, sistemas operativos diferentes y configuraciones particulares. Con Docker, el entorno viaja con la aplicación, de modo que el comportamiento es predecible y repetible.

Conceptos fundamentales

  • Imagen: plantilla de solo lectura que contiene la aplicación y sus dependencias. Es la "receta" a partir de la cual se crean contenedores.
  • Contenedor: instancia en ejecución de una imagen. Es un proceso aislado del resto del sistema, pero que comparte el kernel del sistema operativo anfitrión.
  • Dockerfile: archivo de texto con las instrucciones para construir una imagen de forma automática y reproducible.
  • Docker Engine: el motor que crea y ejecuta los contenedores. Se compone de un demonio (dockerd), una API y el cliente de línea de comandos docker.
  • Registro: repositorio donde se almacenan y distribuyen imágenes. El más conocido es Docker Hub.

Tu primer contenedor

Con Docker instalado, basta un comando para comprobar que todo funciona:

docker run hello-world

Docker descarga la imagen hello-world desde Docker Hub (si no la tienes en local) y ejecuta un contenedor que muestra un mensaje de confirmación. Un ejemplo algo más útil, un servidor web Nginx:

docker run -d -p 8080:80 --name mi-web nginx

Este comando descarga la imagen oficial de Nginx, la ejecuta en segundo plano (-d), redirige el puerto 8080 de tu máquina al 80 del contenedor (-p) y le asigna el nombre mi-web. Si abres http://localhost:8080 verás la página de bienvenida de Nginx.

Ventajas de usar Docker

  • Portabilidad: la misma imagen funciona en cualquier sistema con Docker.
  • Aislamiento: cada contenedor tiene sus propios procesos, red y sistema de archivos.
  • Ligereza: los contenedores comparten el kernel del anfitrión, por lo que arrancan en segundos y consumen pocos recursos.
  • Reproducibilidad: el Dockerfile documenta exactamente cómo se construye el entorno.
  • Ecosistema: miles de imágenes oficiales listas para usar (bases de datos, servidores web, lenguajes, etc.).

En la próxima lección compararemos Docker con las máquinas virtuales tradicionales para entender qué lo hace tan ligero.

Qué necesitas para empezar

Para usar Docker en tu equipo instala Docker Desktop si trabajas con Windows o macOS, o el motor de Docker si usas Linux. Tras instalarlo, abre una terminal y ejecuta docker --version para comprobar que funciona. Con docker run hello-world verás un mensaje de bienvenida que confirma que Docker puede descargar y ejecutar contenedores.

No necesitas un equipo potente para los primeros ejercicios. Los contenedores son ligeros y puedes practicar en un portátil normal. Lo único que conviene vigilar es el espacio en disco, porque las imágenes se acumulan con el uso.

Errores típicos de quien empieza

Un error común es pensar que un contenedor es una máquina virtual pequeña donde se instala todo a mano. En realidad se crea a partir de una imagen y es desechable: si lo borras, lo que no guardaste en un volumen desaparece. Por eso conviene aprender pronto a usar volúmenes.

Otro error es descargar imágenes de origen desconocido. Prefiere siempre imágenes oficiales o de editores conocidos y lee su documentación antes de ejecutarlas.

Te puede interesar

Comentarios

Entradas populares de este blog

Cómo instalar Hermes Agent en Docker y conectarlo con tu suscripción de Antigravity

Docker: OpenBao - para qué sirve y cómo instalarlo

Cómo funciona Docker Compose