
Validar Docker Compose y archivos `.env` en línea
Revisa la estructura de tus `compose.yml` y `.env` antes de `docker compose up` — validación local en el navegador, sin instalar herramientas.
¿Por qué validar Compose y `.env` antes del deploy?
Un `docker compose up` que falla por una clave `services` mal indentada o una línea `.env` sin `=` hace perder tiempo en una máquina nueva, en CI o durante un onboarding. Un control rápido de la estructura antes de lanzar la stack pilla los typos evidentes antes de que Docker se queje. En FastMinify puedes validar un archivo Docker Compose en línea y validar un archivo `.env` en línea — 100 % en el navegador, sin instalar Docker ni Node. El cluster completo está en el hub de herramientas DevOps, junto a Terraform, Dockerfile y HCL.
Errores frecuentes y flujo antes del deploy
Algunos fallos vuelven una y otra vez. Corregirlos antes de `docker compose up` evita mensajes Docker crípticos.
El validador señala las claves que parecen secretos (`PASSWORD`, `API_KEY`, `SECRET`, `TOKEN`), pero es solo un recordatorio — no un scan de secretos. La disciplina real sigue siendo no commitear los `.env`.
Compose vs `.env`: dos intenciones
Compose y `.env` se complementan: uno describe la stack, el otro inyecta la config. En revisión, valida ambos antes de lanzar la stack.
Qué se comprueba
Cuándo usarlo
Una secuencia simple evita descubrir los errores en el momento del deploy.
Cuándo basta la herramienta del navegador
No hace falta tener Docker instalado para comprobar tres errores en un `compose.yml` recibido por mensaje.
Límites: lo que el navegador no sustituye
En cuanto debas resolver la interpolación `${VAR}`, fusionar varios archivos Compose (`-f`) o comprobar que una imagen existe, la CLI Docker y el demonio siguen siendo obligatorios.
Un servicio suele llegar con un Dockerfile, HCL Terraform y un `.env`. Validar Compose y `.env` + lintear el Dockerfile + formatear el HCL cubre el recorrido DevOps diario.
CLI y ecosistema
La CLI Docker y algunos linters siguen siendo el estándar. Las herramientas FastMinify son un complemento rápido para la exploración y los one-shots.
docker compose config
Renderiza el archivo final con variables resueltas y señala errores de spec.
Ventajas:
Inconvenientes:
dotenv-linter
Linter `.env` rápido (Rust) con reglas sobre claves y valores.
Ventajas:
Inconvenientes:
yamllint
Linter YAML genérico útil para indentación y estilo.
Ventajas:
Inconvenientes:
Anatomía de un `compose.yml` y de un `.env`
Un archivo Compose moderno es un único documento YAML con una clave raíz `services` obligatoria. Cada servicio debería declarar una `image` o un bloque `build`. Las demás claves raíz esperadas son `networks`, `volumes`, `secrets`, `configs`, `name` y la histórica `version`. La clave `version` es ahora opcional en la spec Compose actual, pero sigue tolerada.
Un `.env` es una lista de pares `KEY=VALUE`, uno por línea. Las líneas vacías y los comentarios (`#`) se ignoran, y el prefijo `export ` se tolera. Los nombres de clave siguen la convención shell (letras, cifras, underscore, sin empezar por un dígito). Un valor con espacios debe ir entre comillas para evitar sorpresas.
Estos dos validadores hacen controles estructurales, no una validación completa de la spec Compose ni un scan de secretos. No resuelven la interpolación de variables (`${VAR}`), no comprueban que una imagen exista en un registro y no lanzan `docker compose up`. Para la verdad runtime, `docker compose config` y el demonio Docker siguen siendo la referencia.
Dos validaciones: Compose y `.env`
El validador parsea el YAML, comprueba que hay un solo documento, una raíz de tipo mapping y una clave `services`. Señala los servicios sin `image` ni `build` y las claves raíz desconocidas. Prueba el validador Docker Compose en línea.
El validador `.env` lee cada línea, reporta las que no tienen `=` o tienen una clave ilegal, detecta comillas sin cerrar, claves duplicadas y valores sin citar que contienen espacios. Usa el validador `.env` en línea antes de compartir un archivo de ejemplo.
Un servicio rara vez llega solo. Encadena con el linter Dockerfile en línea y el formateador Terraform / HCL en línea para cubrir toda la config de infra.
Conclusión
Validar la estructura de tus `compose.yml` y `.env` antes de `docker compose up` evita fallos de deploy por typos. Usa el navegador como primer filtro estructural, y después `docker compose config` y el demonio Docker para la verdad runtime. Encadena con el Dockerfile y el HCL Terraform en el mismo hub DevOps.
Artículos relacionados

YAML roto, `on` o `jobs` ausentes, steps vacíos: valida la estructura de tus workflows antes del push — y deja actionlint para la CI.

Errores de sintaxis SDL, review de esquema y formateo antes del merge — complemento al beautify GraphQL existente.

Reduce la factura OpenAI/Anthropic/Gemini: estima input/output, activa batch y caching en tus cálculos — tarifas verificadas, 100 % local.