У меня есть переменная в скрипте под названием image_name
Docker Run и подстановки переменных
image_name="my-app"
И я пытаюсь передать эту переменную в Докер контейнер, как показано ниже:
docker build -t $image_name .
docker run --rm --name $image_name -e "app_dir=${image_name}" $image_name
Но эта переменная не задано и пустое в контексте сборки докера
Это фрагмент из файла Docker ниже:
....
RUN echo dir is $app_dir
....
Это фрагмент выхода сборки ниже:
....
Step 2 : RUN echo dir is $app_dir
---> Running in db93a939d701
dir is
---> c9f5e2a657d5
Removing intermediate container db93a939d701
....
Любой знает, как сделать подстановку переменной?
Не забудьте также двойные кавычки ваши разложения. –
Не могли бы вы привести пример? Я все еще изучаю скрипты bash –
«Двойная кавычка» каждого литерала, который содержит пробелы/метасимволы и расширение _every_: '' $ var ",' "$ (команда" $ var ")" ',' "$ {array [ @]} "', '" a & b "'. Используйте «одинарные кавычки» для кода или литерала $: «Расходы $ 5 US'',' ssh host 'echo "$ HOSTNAME"' '. См. Http://mywiki.wooledge.org/Quotes, http://mywiki.wooledge.org/Arguments и http://wiki.bash-hackers.org/syntax/words. –