I have the following Dockerfile, which works:
FROM someimage
ARG transform
COPY Web*.config /inetpub/wwwroot/
RUN powershell /Build/Transform.ps1 -xml "/inetpub/wwwroot/web.config" -xdt "/inetpub/wwwroot/web.debug.config"
然而,我希望在构建时将web.debug.config
文件作为参数传递进来。因此,我将最后一行改为:
RUN powershell /Build/Transform.ps1 -xml "/inetpub/wwwroot/web.config" -xdt "/inetpub/wwwroot/${transform}"
当我这样做时,
${transform}
参数没有被插值,而是被转换为空字符串。我已经确认transform
参数被正确传递,因为我可以执行以下操作:COPY ${transform} /inetpub/wwwroot/
当使用RUN命令时,我们可以通过插值实现在字符串中传递参数,例如"classpath=%s" % jarname。这样就能将变量jarname的值插入到字符串中。然后文件会被复制。有没有其他方式可以使用RUN命令对字符串进行插值?
我正在使用Windows 10上的Docker 18.03.1-ce。