Нет необходимости в файле env. Если вы используете только имя переменной в определении docker compose environment
, ее значение будет автоматически перенесено с вашего хоста в контейнер:
services:
db:
image: "mysql:5.7"
ports: ['3306:3306']
environment:
MYSQL_ROOT_PASSWORD:
Из документации :
Переменные среды, имеющие только ключ, преобразуются в их значения на компьютере, на котором работает Compose, что может быть полезно для секретных или заданных хостом c значений.
Если по какой-то причине вы хотите или должны использовать файл env, вы также можете:
services:
db:
image: "mysql:5.7"
ports: ['3306:3306']
env_file:
- production.env
и в своем файле production.env
(или как вы его называете) просто поставить строки key=value
:
MYSQL_ROOT_PASSWORD=7op-s3cr37
См. Также Параметр конфигурации «env_file» .