Docker permite empaquetar una aplicación junto a todo lo que necesita para funcionar, como sus dependencias y su configuración, dentro de un contenedor que se ejecuta igual en cualquier máquina. Esto elimina el clásico problema de "en mi ordenador funciona".
Qué es un contenedor
Un contenedor es un entorno aislado y ligero que comparte el núcleo del sistema operativo anfitrión, pero mantiene sus propias librerías y procesos. A diferencia de una máquina virtual, arranca en segundos y consume muchos menos recursos.
Imágenes y Dockerfile
Una imagen es la plantilla a partir de la cual se crea un contenedor. Se define en un archivo Dockerfile, donde se indica paso a paso qué sistema base usar, qué dependencias instalar y qué comando ejecutar al arrancar.
Docker Compose para varios servicios
- Permite definir varios contenedores relacionados en un único archivo.
- Cada servicio, como la base de datos, el backend o el servidor web, se levanta con un solo comando.
- Facilita reproducir el mismo entorno en desarrollo y en producción.
Este portfolio se despliega precisamente así: Nginx, el backend del panel de administración y el túnel de Cloudflare se ejecutan como servicios independientes definidos en un mismo archivo de Docker Compose.
Docker encaja de lleno con estos dos temas: cómo automatizar despliegues con GitHub Actions, las buenas prácticas con Git y qué es el server side rendering.
