我只想在docker-compose文件中使用从文件加载的环境变量。但是在运行容器之后,我才得到
警告:未设置TESTVAR变量。默认为空字符串。
仅找到了this topic,但我正在使用更高版本的docker(docker-compose:1.14.0
,docker:17.05.0-ce
)。我将编码更改为ISO 8859-1
,因为我发现了一个github问题,其中检测到编码的奇怪行为。两者都不起作用。
我的docker-compose文件
version: '2'
services:
mysql:
container_name: test_${TESTVAR}
build: mysql
mem_limit: 1G
env_file:
- credentials.env
credentials.env仅包含TESTVAR=test123
。首先,我运行docker-compose up mysql
并尝试直接在compose文件中指定环境变量,如下所示:
environment:
- TESTVAR=1234
也不行。
答案 0 :(得分:2)
如果你想在docker-compose.yml中使用变量,你可以使用.env文件,docker docs
$ cat .env
TAG=v1.5
TESTVAR=123
$ cat docker-compose.yml
version: '3'
services:
web:
image: "webapp:${TAG}"
environment: ["TESTVAR=${TESTVAR}"]