Docker para Developers
Docker es una plataforma que empaqueta tu aplicación en contenedores, garantizando que corra igual en desarrollo, staging y producción.
Conceptos clave
- Imagen: plantilla de solo lectura con el código y dependencias
- Contenedor: instancia en ejecución de una imagen
- Dockerfile: instrucciones para construir una imagen
- Docker Compose: orquestar múltiples contenedores
Tu primera app en Docker
Crea un Dockerfile para una app Flask:
FROM python:3.12-slimWORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]
Construye y corre:
docker build -t mi-app .
docker run -p 5000:5000 mi-app
Docker Compose con PostgreSQL
version: '3.8'
services:
web:
build: .
ports:
- "5000:5000"
depends_on:
- db
environment:
- DATABASE_URL=postgresql://user:pass@db:5432/mydb db:
image: postgres:15
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: mydb
Levanta todo con:
docker compose up
Conclusión
Docker elimina el clásico "en mi máquina funciona". Es una herramienta esencial para cualquier developer moderno.