LINUX.ORG.RU
решено ФорумAdmin

Как воспользоваться ENV внутри контейнера

 


0

2

Сделал image с добавлением двух переменных окружения REMOTEHOST и REMOTEPORT

[root@docker nginx]# docker commit --change "ENV REMOTEHOST websrv" --change "ENV REMOTEPORT 80" nginx-m nginx-m:2.0

на основании него запустил контейнер

[root@docker nginx]# docker run -d -p 443:80 --name nginx-m2 --link websrv nginx-m:2.0

Проверяем, что новые переменные окружения добавились

[root@docker nginx]# docker inspect -f "{{ .Config.Env }}" nginx-m2
[PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NGINX_VERSION=1.17.6 NJS_VERSION=0.3.7 PKG_RELEASE=1 REMOTEHOST=websrv REMOTEPORT=80]

Пробую воспользоваться ими уже внутри контейнера

[root@docker nginx]# docker exec -it nginx-m2 echo $REMOTEHOST

[root@docker nginx]# docker exec -it nginx-m2 echo $REMOTEPORT

[root@docker nginx]#

Непонятно как их использовать, чтобы в конфигурационном файле поставить переданные параметры.

Не очень понятно почему не работало, а потом взяло и заработало.

samson_b ()
 # docker exec -it nginx-m2 echo $REMOTEHOST 

Здесь вместо $REMOTEHOST подставляются переменные окружения хоста, а не контейнера, так проверять невалидно

das_tier ★★★★★ ()
Ответ на: комментарий от das_tier

Вы правы, теперь я понял, почему не работало :) Потом я просто зашел внутрь контейнера и дал команду уже там и оно заработало :) Спасибо.

samson_b ()
Ответ на: комментарий от samson_b

Верно. Ну и docker inspect показал всё, что нужно.

das_tier ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.