当我声明名称中带有点的 ENV 变量时,它们设置不正确。对于我要进行 dockerizing 的框架,需要设置此变量:
framework.config.location
Run Code Online (Sandbox Code Playgroud)
Dockerfile
ENV JAVA_HOME=/opt/java/jre1.8 \
framework.config.location=$HOME/framework/config
RUN echo $framework.config.location && \
cd $framework.config.location
Run Code Online (Sandbox Code Playgroud)
.config.位置
/bin/sh: 1: cd: 无法 cd 到 .config.location
我认为framework.config.location(通常是包含点的字符串)从 bash 等 Unix shell 的角度来看不是有效的标识符。
但是,您可以在 Dockerfile 的 ENV 部分中使用它:结果类似于
env framework.config.location=$HOME/framework/config TheCommand
Run Code Online (Sandbox Code Playgroud)
但您无法通过$framework.config.locationorf访问变量的值{$framework.config.location}。您可以使用它来读取它value=$(env | grep 'framework.config.location' | cut -f 2 -d '='),然后用作$value...
| 归档时间: |
|
| 查看次数: |
2119 次 |
| 最近记录: |