Todos los artículos
Infrastructure

Docker en producción sin dramas

9 min de lectura
Docker en producción sin dramas

Los contenedores resolvieron el infierno de las dependencias y crearon problemas nuevos. Lo que de verdad importa cuando los ejecutas en tu propio servidor.

Docker se vende como lo que simplifica los despliegues. Y lo hace, hasta la primera vez que un contenedor se come el disco o un reinicio borra datos que nadie sabía que estaban dentro.

Los tres errores que más vemos

Datos viviendo dentro del contenedor. Si no están en un volumen con nombre o en un montaje, desaparecen en cuanto reconstruyes. Es el error más común y el más caro.

Sin límites de recursos. Un contenedor con una fuga de memoria puede tumbar todos los demás servicios de la máquina. Unas líneas en el compose lo evitan.

Logs que crecen sin fin. Por defecto Docker guarda cada línea escrita. Hemos visto 40 GB de logs llenar un disco y tumbar un sitio en producción.

yaml
services:
app:
image: myapp:latest
restart: unless-stopped
volumes:
- app-data:/var/lib/app # datos fuera del contenedor
deploy:
resources:
limits:
memory: 512M # un fallo no tumba el resto
logging:
driver: json-file
options:
max-size: "10m" # los logs no comen el disco
max-file: "3"

Portainer merece la pena

Todo se puede hacer desde la terminal, pero un panel visual cambia quién puede ayudar. Cuando un cliente ve sus contenedores, reinicia uno y lee los logs sin llamarte, ganan los dos.

Los backups no son opcionales

Un contenedor es desechable. Sus volúmenes no. Sea cual sea tu rutina de backups, comprueba que cubre los volúmenes y, esto es lo que todos se saltan, comprueba que la restauración funciona. Un backup que nunca has restaurado es una hipótesis.

¿Lo estás llevando tú solo?

Gestionamos infraestructura, automatización e IA para empresas que prefieren concentrarse en su negocio. Cuéntanos qué se está rompiendo.

Empezar la conversación

Sigue leyendo