publicado 2026-04-02
Deja de usar `:latest`
No uses la etiqueta `:latest` para despliegues.
`latest` no es una versión. Es una etiqueta cambiante. El control de versiones debería definir qué versiones externas ejecuta tu sistema. Si la imagen cambia, el archivo Compose también debería cambiar.
Sí, actualizar manualmente a veces es molesto. Aun así, merece la pena. Las versiones fijadas ofrecen despliegues estables, reversiones predecibles y una ruta de actualización clara.
También hacen que las herramientas sean útiles. Renovate puede decirte que existe una imagen más nueva y que tu base de código sigue apuntando a la antigua. Una etiqueta fijada o un digest se puede buscar. Puedes inspeccionar el repositorio y responder preguntas simples: qué está desplegado, qué cambió, qué debería revertirse.
Con `:latest`, ese control desaparece. No puedes rastrear de forma fiable las versiones desplegadas a través de la base de código. No puedes auditar fácilmente imágenes desactualizadas. Cuando un despliegue con Docker Compose se rompe y necesitas revertir, `:latest` convierte un simple problema de versiones en un ejercicio de adivinanza.
Esto aplica incluso al autoalojamiento. Quizá especialmente ahí, porque es precisamente donde la gente tiene más tentación de ser perezosa.