我在Dockerfile中有这一行
RUN /bin/bash -c ". setup.sh ; echo $LD_LIBRARY_PATH ; make"
LD_LIBRARY_PATH
在setup.sh中设置。但是,当我运行docker build .
时,echo指令只会打印一个空字符串,而make
会为未找到的库提供错误。
从Stackoverflow和其他地方的许多答案中,我希望打印出这条路径。
我错过了什么?提前致谢
答案 0 :(得分:1)
在Dockerfile中,行:
RUN /bin/bash -c ". setup.sh ; echo $LD_LIBRARY_PATH ; make"
将导致$LD_LIBRARY_PATH
变量由docker本身展开(您可以使用ARG
或ENV
行设置该变量)。要使容器中的shell扩展变量,只需使用反斜杠转义它:
RUN /bin/bash -c ". setup.sh ; echo \$LD_LIBRARY_PATH ; make"