У меня есть docker-compose.yml, который ссылается на ${host_repo_dir}
. Попытка запустить службу, определенную там следующим образом:
docker-compose run -e host_repo_dir=$(pwd) http-api
Выход:
WARNING: The host_repo_dir variable is not set. Defaulting to a blank string.
Что дает? Я думаю, что я следую https://docs.docker.com/compose/reference/run/.
мое окружение:
версия докера: 18.09.3
версия docker-compose: 1.24.0
Докер для Windows, доступ из WSL
Это проблема WSL?
Обновление: настройка env vars заранее работает, но, похоже, не всегда:
echo "host repo dir: ${host_repo_dir}, repo name: ${repository_name}, docker repo: ${docker_repository}"
docker-compose run \
-e host_repo_dir \
-e repository_name \
-e docker_repository \
${repository_name} || ( cd ${previous_directory} ; exit 3 )
вывод:
host repo dir: /c/Users/muellmi1/projects/payoff-2015/http-api, repo name: http-api, docker repo: localhost.localdomain
WARNING: The docker_repository variable is not set. Defaulting to a blank string.
docker_repository был заранее установлен $1
в начале этого скрипта. Теперь я понимаю, что необходимо экспортировать переменных заранее. Так что у меня получилось запустить export [VARNAME]
для каждой из переменных, которые впоследствии были переданы в docker-compose.