Файл переменных в Docker
Файл переменных хранит пары для подстановки рядом с описанием, а не в строке запуска. Compose читает его сам при разборе проекта в рабочей папке. Терминал остаётся короче, а значения лежат в одном месте.
Файл .env с парой для
SITE выглядит так:
SITE=lab
В описании сервиса web
на alpine та же ссылка
${SITE}, что и при
ручной подстановке:
services:
web:
image: alpine
environment:
SITE: ${SITE}
command: ["sleep", "30"]
Достаточно обычного фонового
подъёма без префикса в команде.
Внутри сервиса
printenv по SITE
покажет слово lab:
docker compose up -d
Проверка переменной в копии:
docker compose exec web printenv SITE
Запишите в .env пару MODE со значением test и свяжите её с сервисом app на alpine.
После фонового подъёма прочитайте MODE внутри app и зафиксируйте слово test.