运行Docker容器时,如何附加到PATH环境variables?
我想挂载一个卷并将其添加到容器的PATH环境variables中。 我试过以下,没有工作。
docker run -it -v $(PWD):/app -e PATH=$PATH:/app/bin debian:jessie bash docker run -it -v $(PWD):/app -e PATH='$PATH:/app/bin' debian:jessie bash docker run -it -v $(PWD):/app -e PATH='$$PATH:/app/bin' debian:jessie bash docker run -it -v $(PWD):/app -e PATH='\$PATH:/app/bin' debian:jessie bash
如何将装入的卷追加到PATH?
如果您使用-e选项,则$ PATH值是主机的path而不是容器的path。
你可以这样做:
docker run -it -v $(PWD):/app debian:jessie bash -c 'export PATH=$PATH:/app/bin; bash'
在docker命令行中,不能得到“运行时$ PATH的值是什么”。 因此,您不能将PATH追加到PATHvariables中,使用docker的-e
标志。 为了实现你想要做的事情,你需要在一个脚本中这样做,它将作为容器的cmd /入口点来执行。
您可以为导入的应用程序定义固定的path,并将新的path添加到应用程序环境variables“ path ”
让我们把你的path“ /应用程序 ”。 在您的Dockerfile中添加以下行:
ENV PATH=${PATH}:/app/bin
构build您的修改的Docker
现在,您可以访问位于<外部目录> / bin下的所有应用程序,该应用程序通过您安装到“ / app ”
-v <external Directory>:/app