【发布时间】:2020-01-18 14:43:23
【问题描述】:
我正在尝试在我的 docker-compose 中创建绝对路径,使用变量替换到当前目录的路径。我将这些路径作为环境变量传递到我的容器中。 更准确地说,我尝试通过 cd 命令而不是通过 PWD env var 传递它。应该可以在 .env (https://github.com/docker/compose/issues/4081) 中声明 env var。 不幸的是,我无法让替换工作。
我尝试了不同的方法:
将 var 声明为 .env 中的环境变量或直接在环境列表中
使用 powershell 和命令提示符运行
在两个 shell 中使用 %cd% 和 $pwd
转义 $ 和 %,用额外的 $ 或 % 将它们加倍
docker-compose 的相关部分:
version: "3.2"
services:
jupyter:
environment:
- WORKING_DIR=%cd% # OR $(pwd) OR $VAR
当我使用 .env 时:
VAR=%cd% or ${pwd}
当我在容器中“设置”环境变量时,它只会显示我使用的命令(%cd% 等),就好像它们是字符串一样。
我不太明白 docker-compose 在哪里格式化/执行:在我用来调用 docker-compose 的 shell 中,在我的 docker 守护进程运行的 linux 映像中,等等?
编辑:
- 我尝试了 MacOS 版本,但问题仍然存在! (使用适当的 bash 变量替换)
【问题讨论】:
标签: docker-compose windows-10 environment-variables