Docker compose docker compose for windows 10中的当前目录变量替换
我试图在docker compose中创建绝对路径,使用变量替换当前目录的路径。我将这些路径作为环境变量传递到容器中。 更确切地说,我尝试通过cd命令传递它,而不是通过PWD env var传递。应该可以在.env()中声明env var。 不幸的是,我无法让替代品发挥作用 我尝试了不同的方法:Docker compose docker compose for windows 10中的当前目录变量替换,docker-compose,windows-10,environment-variables,Docker Compose,Windows 10,Environment Variables,我试图在docker compose中创建绝对路径,使用变量替换当前目录的路径。我将这些路径作为环境变量传递到容器中。 更确切地说,我尝试通过cd命令传递它,而不是通过PWD env var传递。应该可以在.env()中声明env var。 不幸的是,我无法让替代品发挥作用 我尝试了不同的方法: 将var声明为.env中的环境变量或直接声明为环境列表中的环境变量 使用powershell和命令提示符运行 对两个外壳使用%cd%和$pwd 逃逸$和%,用额外的$或%加倍 docker组件的相关
- 将var声明为.env中的环境变量或直接声明为环境列表中的环境变量
- 使用powershell和命令提示符运行
- 对两个外壳使用%cd%和$pwd
- 逃逸$和%,用额外的$或%加倍
version: "3.2"
services:
jupyter:
environment:
- WORKING_DIR=%cd% # OR $(pwd) OR $VAR
当我使用.env时:
VAR=%cd% or ${pwd}
当我在容器中“设置”环境变量时,它只显示我使用的命令(%cd%,etc),就好像它们是字符串一样
我不太明白docker compose在哪里格式化/执行:在我用来调用docker compose的shell中,在我的docker守护进程运行的linux映像中,等等
编辑:
- 我试过MacOS版本,但仍然有问题!(使用适当的bash变量替换)
- 不是一个完整的解决方案,但也许您可以编写一些脚本:
如果在docker compose文件中将DOCUMENT_ROOT指定为变量
environment:
- WORKING_DIR=${DOCUMENT_ROOT}
并且在工作目录中有一个.env文件,其中包含
DOCUMENT\u ROOT=./
,则可以通过运行
docker-compose -f /path/to/docker-compose.yml up