DOCKER-COMPOSE-CONFIG(1)

πŸ“¦ version 2.26.1, in debian trixie

πŸ’… DOCKER-COMPOSE-CONFIG β€” the docker-compose-config page, bestie edition

okay so you found the docker-compose-config(1) manual page and honestly? iconic of you. this is the part of the compose universe that takes your messy little YAML situation and turns it into the actual canonical truth. let's get into it πŸŽ€


✨ NAME ✨

docker-compose-config β€” parse, resolve and render compose file in canonical format

like, it reads your stuff, figures out what it actually means, and hands it back all cleaned up. main character behaviour fr.


🌸 SYNOPSIS 🌸

docker compose config [OPTIONS] [SERVICE...]

you can throw OPTIONS at it, and you can also name specific SERVICEs if you only care about some of them. we love a picky queen. πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

so docker compose config renders the actual data model that's gonna be applied on the Docker Engine. that's the whole vibe. no guessing, no mystery β€” it shows you what's really about to go down.

here's the tea on what it does while it's at it:

  • it merges the Compose files you set with the -f flags (yes, plural, you can stack them)
  • it resolves variables in the Compose file (so your ${ENV_VAR} situations get sorted)
  • it expands short-notation into the canonical format

basically it's the glow-up your compose file didn't know it needed. ✨


πŸ‘‘ OPTIONS πŸ‘‘

one bullet per option, no skipping, we don't do that here.

  • --format="yaml" β€” format the output. values are: [yaml | json]. default is yaml bestie, but json is right there if that's your era.
  • --hash="" β€” print the service config hash, one per line. great for when you're obsessed with knowing if anything actually changed.
  • -h, --help[=false] β€” help for config. the classic. the blueprint. the "wait what was the flag again" saviour.
  • --images[=false] β€” print the image names, one per line.
  • --no-consistency[=false] β€” don't check model consistency.
⚠️ warning: this may produce invalid Compose output. like, fr fr. it's giving chaos and I respect it but also be careful.
  • --no-interpolate[=false] β€” don't interpolate environment variables. leave those ${} girlies exactly as they are.
  • --no-normalize[=false] β€” don't normalize compose model. raw and unfiltered, no edits.
  • --no-path-resolution[=false] β€” don't resolve file paths. they stay exactly as you typed them.
  • -o, --output="" β€” save to file (default to stdout). so if you don't pass anything, it just spills out into your terminal like a lil waterfall. πŸ’§
  • --profiles[=false] β€” print the profile names, one per line.
  • -q, --quiet[=false] β€” only validate the configuration, don't print anything. silent but deadly. lowkey the most powerful one here.
  • --resolve-image-digests[=false] β€” pin image tags to digests. lock them in, no cap.
  • --services[=false] β€” print the service names, one per line.
  • --variables[=false] β€” print model variables and default values.
  • --volumes[=false] β€” print the volume names, one per line.

🌈 OPTIONS INHERITED FROM PARENT COMMANDS 🌈

these came from the parent command, they're family, we keep them 🫢

  • --dry-run[=false] β€” execute command in dry run mode. practice run, no consequences, the safest way to test the vibe.

πŸ”₯ SEE ALSO πŸ”₯


and that's the whole page, you ate that πŸ’…

this was brought to you by the Mar 2025 era of DOCKER-COMPOSE-CONFIG(1) β€” same page name up top, same page name down here, symmetry queen ✨

mwah, go render something canonical πŸŽ€πŸ’–

πŸ“¦ where this page comes from