源码环境文件在docker中不工作
我有一个Dockerfile中的这一行
RUN /bin/bash -c ". setup.sh ; echo $LD_LIBRARY_PATH ; make"
在setup.sh中设置LD_LIBRARY_PATH
。 但是,当我运行docker build .
echo指令只是打印一个空string,并且给出一个找不到的库的错误。
从Stackoverflow和其他地方的许多答案中,我会期望path被打印出来。
我错过了什么? 提前致谢
在Dockerfile中,行:
RUN /bin/bash -c ". setup.sh ; echo $LD_LIBRARY_PATH ; make"
将导致docker本身扩展$LD_LIBRARY_PATH
variables(您可以使用ARG
或ENV
行设置该variables)。 为了让你的容器中的shell能够扩展variables,只需用反斜杠来转义即可:
RUN /bin/bash -c ". setup.sh ; echo \$LD_LIBRARY_PATH ; make"