我正在尝试编写一个dockerfile,其中向名为envvars的脚本中添加了一些Java选项。 为此,我想在上述文件中添加一些文本行,如下所示:
_startedAt
这里的问题是,我想要杂项。占位符$ {varname}(带有花括号的占位符)在执行docker build命令的过程中将被替换,而子字符串'$ JAVA_OPTS'(即那些没有花括号的)应回显并因此逐字添加到envvars文件中,即最后RUN echo "JAVA_OPTS=$JAVA_OPTS -Djavax.net.ssl.trustStore=${CERT_DIR}/${HOSTNAME}_truststore.jks" >> ${BIN_DIR}/envvars
RUN echo "JAVA_OPTS=$JAVA_OPTS -Djavax.net.ssl.trustStorePassword=${PWD_TRUSTSTORE}" >> ${BIN_DIR}/envvars
RUN echo "export JAVA_OPTS" >> ${BIN_DIR}/envvars
文件中的结果应显示为:
/usr/local/apache2/bin/envvars
如何从dockerfiles中的变量替换中逃脱$符号? 我发现使用\ $或$$的提示,但都没有用。
万一重要(我希望/不希望如此):我正在Windows 10上使用“ Docker桌面”构建映像,但我希望dockerfile对此不可知。