Ver la configuración final de Docker Compose con docker compose config

Esquema de docker compose config con variables, puertos y servicios resueltos

Cuando un compose.yml usa variables, ficheros .env o varios overrides, conviene ver la configuración final antes de levantar nada.

Docker Compose puede mostrar el fichero ya resuelto con el comando docker compose config. Es una forma sencilla de comprobar puertos, variables, servicios y rutas antes de ejecutar up.

Ver la configuración resuelta

Desde el directorio donde está el compose.yml:

docker compose config

El resultado muestra la configuración normalizada que Compose va a usar. Ahí ya aparecen aplicadas variables como ${APP_ENV}, valores por defecto y ficheros env_file.

Comprobar variables y puertos

Por ejemplo, si tienes algo así:

services:
  web:
    image: nginx:1.27-alpine
    environment:
      APP_ENV: ${APP_ENV:-dev}
    ports:
      - "${WEB_PORT:-8080}:80"

Y en .env defines:

APP_ENV=staging
WEB_PORT=18080

Puedes comprobar el resultado con:

docker compose config

Deberías ver algo parecido a:

services:
  web:
    environment:
      APP_ENV: staging
    ports:
      - mode: ingress
        target: 80
        published: "18080"
        protocol: tcp

Así confirmas qué puerto se publicará realmente y qué valor tendrá la variable dentro del servicio.

Listar solo los servicios

Para comprobar rápidamente qué servicios reconoce Compose:

docker compose config --services

La salida es una lista simple:

web
worker
db

Esto ayuda a detectar errores de nombre antes de ejecutar comandos como docker compose logs web o docker compose restart worker.

Sacar la configuración en JSON

Si quieres revisar la configuración desde un script:

docker compose config --format json

Es útil para validaciones automáticas o comprobaciones rápidas en CI, porque puedes procesar la salida con herramientas como jq.

Validar antes de levantar servicios

docker compose config también sirve como comprobación rápida de sintaxis. Si hay un problema en el YAML o una opción mal formada, Compose lo avisará antes de crear contenedores.

docker compose config >/dev/null

Ese comando no levanta servicios. Solo comprueba y resuelve la configuración.

Resumen rápido

# Ver configuración final
docker compose config

# Listar servicios detectados
docker compose config --services

# Obtener salida JSON
docker compose config --format json

# Validar sin mostrar salida
docker compose config >/dev/null

Antes de cambiar un puerto, una variable o un override en Docker Compose, revisar la configuración final evita muchas sorpresas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *