Я хочу напечатать переменную окружения, определенную в файле docker-compose.
Вот мой docker-compose-1.yml
:
version: '3.6'
services:
busybox:
image: busybox
command: 'echo $DEBUG'
environment:
- DEBUG='123456'
И попробуйте напечатать переменную окружения DEBUG
в контейнере Docker:
☁ environment-variables-in-compose [master] ⚡ docker-compose -f docker-compose-1.yml up
WARNING: The DEBUG variable is not set. Defaulting to a blank string.
Creating network "environmentvariablesincompose_default" with the default driver
Creating environmentvariablesincompose_busybox_1 ... done
Attaching to environmentvariablesincompose_busybox_1
busybox_1 |
environmentvariablesincompose_busybox_1 exited with code 0
Как видите, получил WARNING: The DEBUG variable is not set. Defaulting to a blank string.
Я не прав?
обновление 1:
docker-compose-1.yml
version: '3.6'
services:
busybox:
image: busybox
command: 'echo $$DEBUG'
environment:
DEBUG: 123456
Я изменяю command
, используя двойной знак $
, но результат все равно не тот, который я хочу.
☁ environment-variables-in-compose [master] ⚡ docker-compose -f docker-compose-1.yml up
Creating network "environmentvariablesincompose_default" with the default driver
Creating environmentvariablesincompose_busybox_1 ... done
Attaching to environmentvariablesincompose_busybox_1
busybox_1 | $DEBUG
environmentvariablesincompose_busybox_1 exited with code 0
Как видите, переменная окружения печатается как $DEBUG
, а не ожидаемое значение 123456