Если, скажем ENV ADDRESSEE=world
, я устанавливаю переменную среды и хочу использовать ее в сценарии точки входа, объединенной в фиксированную строку, например:
ENTRYPOINT ["./greeting", "--message", "Hello, world!"]
с world
изменчивой ценностью окружающей среды, как мне это сделать? Я пробовал использовать, "Hello, $ADDRESSEE"
но, похоже, это не сработало, потому что нужно $ADDRESSEE
понимать буквально.
источник
ENTRYPOINT java -jar /dockertest.jar -Djava.security.egd=file:/dev/./urandom -Dserver.port=$port
покаENV port=123
. ENV порта не разрешен. Есть идеи, почему?--attitude "shouting"
аргумент кdocker run
команде, которая должна быть передана./greeting
ENTRYPOINT ./greeting --message "Hello, $ADDRESSEE\! $0 $@"
если вы также хотите передать дополнительные переменные./greeting
черезdocker run
вызов (или передатьCMD
файл Dockerfile)greeting
в вашем примере). hynek.me/articles/docker-signalsЯ попытался решить с помощью предложенного ответа, но все равно столкнулся с некоторыми проблемами ...
Это было решение моей проблемы:
Конкретно нацелившись на вашу проблему:
источник
После долгой боли и огромной помощи @vitr et al. Я решил попробовать
и это сработало.
например
и
оба правильно установили порт в моем контейнере
Ссылки
см. https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html
источник