Docker Compose
不能在docker-compose.yml
中使用来自.env
的变量。CCD_ 4位于与CCD_ 5相同的目录中。
.env:
port:3306
docker-compose.yml:
ports:
- ${port}:${port}
文件显示了完全相同的例子,并说它工作
web:
image: "webapp:${TAG}"
执行docker-compose up
时出错
WARNING: The port variable is not set. Defaulting to a blank string.
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.mariadb.ports is invalid: Invalid port ":", should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol]
如何修复?
来源https://docs.docker.com/compose/env-file/:
语法规则
以下语法规则适用于.env文件:
- Compose希望env文件中的每一行都是VAR=VAL格式
- 以#开头的行将作为注释处理并被忽略
- 空行将被忽略
- 引号没有特殊处理。这意味着它们是VAL的一部分
在.env
中,使用=
而不是:
您的.env格式似乎有误。尝试:
PORT = 3306