Переменная, указанная в environment
& env_file
, не используется для compose-файла, она будет напрямую передана в контейнер.
Для подстановки переменной в docker-compose.yaml
вы можете использовать следующие два решения, ииспользуйте docker-compose config
для быстрой проверки эффекта:
Решение 1:
Используйте переменную export в той же оболочке, которая запускает docker-compose
:
docker-compose.yaml:
version: '3'
services:
root-ui-e2e-ci:
image: ubuntu
volumes:
- ${MY_VAR}:/app
Попробуйте команду:
$export MY_VAR=./hello
$docker-compose config
services:
root-ui-e2e-ci:
image: ubuntu
volumes:
- /home/shubuntu1/99/hello:/app:rw
version: '3.0'
Решение 2:
Использование .env
:
Установить файл .env
в той же папке, что и docker-compose.yaml
:
.env:
MY_VAR=./hello
docker-compose.yaml:
version: '3'
services:
root-ui-e2e-ci:
image: ubuntu
volumes:
- ${MY_VAR}:/app
Попробуйте команду:
$unset MY_VAR
$docker-compose config
services:
root-ui-e2e-ci:
image: ubuntu
volumes:
- /home/shubuntu1/99/hello:/app:rw
version: '3.0'