Docker Compose

Docker Compose Env Interpolation Preview

Показать, как переменные с значениями по умолчанию резолвятся реально.

Как это работает

Синтаксис доллар с фигурными скобками и двоеточие тире значение по умолчанию в docker-compose.yml удобен, но иногда неочевидно, что реально подставится, если переменная не задана, задана пустой строкой, или задана каким-то конкретным значением. Docker compose env interpolation preview online показывает результат подстановки заранее, без запуска docker compose up.

Инструмент принимает текст compose файла и список переменных окружения со значениями, разбирает все конструкции с фигурными скобками, простой подстановкой, значением по умолчанию через двоеточие тире и обязательным значением через двоеточие вопросительный знак, и показывает итоговый файл с уже подставленными реальными значениями.

Полезно применять при отладке compose файла, который ведет себя неожиданно в разных окружениях, при объяснении коллеге, что означает конкретная конструкция с двоеточием в файле, или просто чтобы перепроверить логику подстановки значений по умолчанию перед боевым деплоем.

Частые вопросы

Чем отличается двоеточие тире от просто тире в синтаксисе подстановки?

Двоеточие тире подставляет значение по умолчанию, если переменная не задана вообще или задана пустой строкой, а просто тире без двоеточия подставляет значение по умолчанию только если переменная не задана вообще, но не в случае пустой строки.

Что произойдет, если переменная помечена как обязательная через двоеточие вопросительный знак, но не задана?

В реальном docker compose это приводит к ошибке при попытке запуска, инструмент отобразит это как явную пометку отсутствующей обязательной переменной, а не тихо подставит пустое значение.

Работает ли предпросмотр с вложенными переменными внутри других переменных?

Docker compose не поддерживает рекурсивную подстановку переменной внутри значения другой переменной, инструмент следует этому же поведению и не пытается разрешать такую вложенность.

Можно ли использовать это вместо реального docker compose config?

Как быстрый предпросмотр логики подстановки да, но перед боевым использованием стоит все равно свериться с выводом официальной команды docker compose config, которая учитывает больше нюансов реальной среды.