我想LD_LIBRARY_PATH
使用我的Dockerfile根据我的工作目录设置变量。我试过使用,ENV $PWD/some/subpath
但是当我以后检查容器时,docker exec mycontainer bash -c "env"
它显示为/some/subpath
,/my/working/dir/some/subpath
但是我也看到了PWD
它的定义,/my/working/dir/
正如我期望的那样。那么,为什么$PWD
在我的Dockerfile中使用它却不能替代我期望的方式呢?
根据这个答案,$PWD
是在运行shell时设置的特殊环境变量。与RUN
命令不同,ENV
命令不会创建外壳,因此PWD
永远不会设置。
要PWD
在构建时获取值,您可以改用build-arg并传入$PWD
build命令。
您可以像这样在Dockerfile中执行此操作:
# dockerfile
ARG working_directory
ENV $working_directory/some/subpath
并像这样构建:
docker build --build-arg "working_directory=$PWD" .
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句