首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在入口点数组中使用Docker环境变量?

如何在入口点数组中使用Docker环境变量?
EN

Stack Overflow用户
提问于 2016-06-19 14:49:36
回答 4查看 129.4K关注 0票数 155

如果我设置了一个环境变量,比如ENV ADDRESSEE=world,我想在连接成固定字符串的入口点脚本中使用它,如下所示:

代码语言:javascript
复制
ENTRYPOINT ["./greeting", "--message", "Hello, world!"]

由于world是环境变量的值,我该怎么做呢?我尝试使用"Hello, $ADDRESSEE",但似乎不起作用,因为它从字面上理解$ADDRESSEE

EN

回答 4

Stack Overflow用户

发布于 2018-04-18 07:57:06

我试图用建议的答案来解决,但仍然遇到了一些问题……

这是我的问题的一个解决方案:

代码语言:javascript
复制
ARG APP_EXE="AppName.exe"
ENV _EXE=${APP_EXE}

# Build a shell script because the ENTRYPOINT command doesn't like using ENV
RUN echo "#!/bin/bash \n mono ${_EXE}" > ./entrypoint.sh
RUN chmod +x ./entrypoint.sh

# Run the generated shell script.
ENTRYPOINT ["./entrypoint.sh"]

特别针对你的问题:

代码语言:javascript
复制
RUN echo "#!/bin/bash \n ./greeting --message ${ADDRESSEE}" > ./entrypoint.sh
RUN chmod +x ./entrypoint.sh
ENTRYPOINT ["./entrypoint.sh"]
票数 21
EN

Stack Overflow用户

发布于 2021-03-10 19:36:39

在我的casw中是这样工作的:(用于docker中的Spring boot应用程序)

代码语言:javascript
复制
ENTRYPOINT java -DidMachine=${IDMACHINE} -jar my-app-name

并在docker run上传递参数

代码语言:javascript
复制
docker run --env IDMACHINE=Idmachine -p 8383:8383 my-app-name
票数 2
EN

Stack Overflow用户

发布于 2021-04-28 14:03:49

以下是对我有效的方法:

代码语言:javascript
复制
ENTRYPOINT [ "/bin/bash", "-c", "source ~/.bashrc && ./entrypoint.sh ${@}", "--" ]

现在,您可以为docker run命令提供任何参数,并且仍然可以读取所有环境变量。

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

https://stackoverflow.com/questions/37904682

复制
相关文章

相似问题

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