我想挂载一个卷并将其添加到容器的PATH环境变量中.我尝试过以下内容,但没有一个正在运行.
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
Run Code Online (Sandbox Code Playgroud)
如何将装载的卷附加到PATH?
Kiw*_*Lau 12
如果使用-e选项,则$ PATH值是主机的PATH而不是容器.
你可以这样做:
docker run -it -v $(PWD):/app debian:jessie bash -c 'export PATH=$PATH:/app/bin; bash'
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以为导入的应用程序定义固定路径,并将新的应用程序路径添加到环境变量“ Path ”中
让我们选择你的路径“ /app ”。在您的 Dockerfile 中添加以下行:
ENV PATH=${PATH}:/app/bin
Run Code Online (Sandbox Code Playgroud)
构建修改后的 Docker
现在您可以访问位于<external Directory>/bin下的所有应用程序,这些应用程序通过挂载到“ /app ”
-v <external Directory>:/app
Run Code Online (Sandbox Code Playgroud)
在docker命令行中,您无法获得"运行时$ PATH的值".因此,您不能使用docker的-e标志将PATH附加到PATH变量.要实现您想要做的事情,您需要在脚本中执行此操作,该脚本将作为容器的cmd /入口点执行.
| 归档时间: |
|
| 查看次数: |
12047 次 |
| 最近记录: |