Я знаю, что это супер поздний ответ, но я только что наткнулся на него, пока Гуглил что-то совершенно не связанное.
Если я правильно помню, вы должны указать docker-compose, чтобы фактически отправлять переменные ENV в докер с помощьюпросто объявив их в окружении.
environment:
- MYSQL_HOST=db
- MYSQL_PASSWORD
- MYSQL_USER
Я никогда не объявлял .env-файл в docker-compose, так что, возможно, это уже решает эту проблему.Я использую его таким образом (у меня также есть файл .env, который я иногда переопределяю из некоторых значений).
Пример из моего контейнера разработчика MariaDB:
environment:
- MYSQL_DATABASE=mydb
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_ROOT_PASSWORD