[英]Dockerfile - get, modify and set env variable
可能非常简单的问题,但我找不到解决方案。 我有一些环境变量存储一些版本号。 目前它只是 11.1.1。 我需要修改它以获取 11.1 并保存到 env ABC_VER。 因此,可以在构建我的容器后执行此操作,如下所示:
export ABC=$(echo $ABC_VERSION | head -c 4)
我试图在我的 dockerfile 中做同样的事情:
ENV ABC_VER $(echo $ABC_VERSION | head -c 4)
但是在构建并运行 echo $ABC_VER 之后,我得到了:
$(echo 11.1.1 | head -c 4)
而不是 11.1
不确定,如何解决?
Docker 的ENV
指令在这个意义上有点受限。 据我所知,您可以做的最先进的事情是环境替换,但这在这里没有太大帮助。
我可以想到两个低悬的选择:
RUN
来评估您正在使用的表达式,并将带有结果的export
指令附加到相应的 shell 启动脚本(例如/etc/profile
(或者最好是/etc/profile.d
下的单独文件))ARG MYARG
Dockerfile
提供格式正确的版本作为--build-arg
并使用ENV ABC_VER=${MYARG}
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.