我有一个引用${host_repo_dir}
的docker-compose.yml。尝试运行在此定义的服务,如下所示:
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/。
我的环境:
docker版本:18.09.3
docker-compose版本:1.24.0
用于Windows的docker,可从WSL访问
这是WSL问题吗?
更新:预先设置环境变量可以进行排序,但似乎并非总是如此:
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 变量。因此,对我有用的是为随后传递给docker-compose的每个变量运行export [VARNAME]
。
答案 0 :(得分:1)
假设host_repo_dir已设置并已导出,则可以。
docker-compose run -e host_repo_dir http-api