Подстановка переменных в Docker
Подстановка переменных вставляет значение из окружения в файл описания перед запуском. В строке файла остаётся ссылка, а Compose подменяет её при чтении. Это не литерал в блоке переменных сервиса.
Сервис web на alpine
получает SITE через
подстановку и держится
тридцать секунд:
services:
web:
image: alpine
environment:
SITE: ${SITE}
command: ["sleep", "30"]
Значение SITE задают
в той же строке, что и
подъём проекта.
После фонового старта внутри
сервиса команда
printenv по имени
SITE покажет подставленное
слово.
Запуск с примером значения
demo такой:
SITE=demo docker compose up -d
В работающей копии проверяют переменную так:
docker compose exec web printenv SITE
Опишите сервис api на alpine с подстановкой COLOR и сном шестьдесят секунд.
Поднимите проект с COLOR равным green и убедитесь, что внутри видно это слово.