怎样获取docker容器的环境变量

 我来答
eu...i@sina.com
2016-12-24 · 超过326用户采纳过TA的回答
知道小有建树答主
回答量:654
采纳率:0%
帮助的人:394万
展开全部
ENV 设置环境变量 ENV ENV指令可以用于为docker容器设置环境变量 ENV设置的环境变量,可以使用 docker inspect命令来查看。同时还可以使用docker run --env =来修改环境变量。 Note: 环境变量的设置要合理,比如将环境变量设置为非交互的 ENV DE...
研发那些事情
2021-09-17 · 贡献了超过121个回答
知道答主
回答量:121
采纳率:28%
帮助的人:4.9万
展开全部

以下是一种跨平台,兼容windows,linux,max,docker,k8s的获取环境变量的方式:

apihost=Environment.GetEnvironmentVariable("ApiHost",RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? EnvironmentVariableTarget.Machine : EnvironmentVariableTarget.Process);


[附:设置上述环境变量]

1)直接用docker启动的项目.

使用docker run --env ApiHost=http://config.net.cn image:tag直接添加变量

示例:

root@ubuntu:/home/vickey/test_build# docker run --rm -it --env ApiHost=http://config.net.cn   ubuntu:latest root@2bbe75e5d8c7:/# env |grep "TEST" TEST=2

 2)k8s场景(不能用docker run命令启动的项目).

使用dockerfile的ARG和ENV添加变量:

ARG只在构建docker镜像时有效(dockerfile的RUN指令等),在镜像创建了并用该镜像启动容器后则无效(后面有例子验证)。但可以配合ENV指令使用使其在创建后的容器也可以生效。


ARG buildtime_variable=http://config.net.cn        # if not set default_value buildtime_variable would be set ‘‘ ENV  ApiHost=$buildtime_variable

在构建映像时,可以使用--build-arg buildtime_variable=other_value覆盖dockerfile里的变量值default_value

$ docker build --build-arg buildtime_variable=other_value --tag image:tag

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式