源码环境文件在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_PATHvariables(您可以使用ARGENV行设置该variables)。 为了让你的容器中的shell能够扩展variables,只需用反斜杠来转义即可:

 RUN /bin/bash -c ". setup.sh ; echo \$LD_LIBRARY_PATH ; make"