运行docker compose报错key cannot contain a space如何修复
报错根因
你遇到的key cannot contain a space报错不是docker-compose.yml文件本身的语法问题,所以yamllint校验不会发现异常。该报错是Docker Compose加载环境变量时触发的:只要系统当前环境变量、或者项目下.env文件中存在名称包含空格的环境变量,就会抛出这个错误。
修复步骤
- 先排查当前shell环境的非法变量,执行以下命令筛选出名称带空格的环境变量:
env | grep -E '^[^=]* '
- 找到对应变量后,用
unset命令删除即可,示例:如果筛选出APP CONFIG=xxx这种非法变量,执行:
unset "APP CONFIG"
- 若当前shell环境没有异常,检查项目根目录下的
.env文件,排查是否存在类似DB PASSWORD=123456这种变量名带空格的配置,将空格替换为下划线即可(例如改为DB_PASSWORD=123456)。
验证方法
修复完成后执行docker compose config,如果能正常输出解析后的配置内容,说明问题已解决,可以正常执行docker compose up等操作。
内容的提问来源于stack exchange,提问作者xis10z
相关产品推荐
相关产品推荐

