首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-组合和传入shell env变量(-e选项)

docker-组合和传入shell env变量(-e选项)
EN

Stack Overflow用户
提问于 2019-04-01 13:17:04
回答 1查看 231关注 0票数 0

我有一个引用${host_repo_dir}的docker-compose.yml。尝试运行在那里定义如下的服务:

代码语言:javascript
复制
docker-compose run -e host_repo_dir=$(pwd) http-api

输出:

代码语言:javascript
复制
WARNING: The host_repo_dir variable is not set. Defaulting to a blank string.

怎么回事?我想我在跟踪https://docs.docker.com/compose/reference/run/

我的环境:

码头版本: 18.09.3

码头工人-撰写版本: 1.24.0

窗口码头,从WSL访问

这是WSL问题吗?

更新:预先设置env -工作类型,但似乎并不总是这样:

代码语言:javascript
复制
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 )

产出:

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-01 13:24:10

假设host_repo_dir已经设置并导出,您可以这样做。

docker-compose run -e host_repo_dir http-api

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55456107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档