这是我的docker-compose.yml文件:
version:'2':
services:
redis:
image: redis
environment:
- HOST='localhost'
- PORT=6379
ports:
-"0.0.0.0:${PORT}:6379"
我在运行docker-compose时遇到此错误:
ERROR: The Compose file './docker-compose.yml' is invalid because:
Invalid service name 'services' - only [a-zA-Z0-9\._\-] characters are allowed
Unsupported config option for services: 'redis'
答案 0 :(得分:2)
您的文件存在多个问题。导致语法错误的一个是第一行有一个额外的冒号:
version:'2':
以这种方式定义标量字符串键version:'2'
,其值为null
。因为您没有定义docker compose文件的version
,所以文件的其余部分(面向版本2)将失败。最好通过在version:
此外,您的ports
定义不正确,其值应为sequence
/ list
,您再次指定标量字符串-"0.0.0.0:${PORT}:6379"
,因为没有初始冲刺后的空间。
将您的docker_compose.yaml
文件更改为:
version: '2'
# ^ no colon here
# ^ space here
services:
redis:
image: redis
environment:
- HOST='localhost'
- PORT=6379
ports:
- "0.0.0.0:${PORT}:6379"
# ^ extra space here
答案 1 :(得分:-2)
将最后一个字符“:”删除到字符串version:'2':
之后docker-compose.yml
必须像
version:'2'
services:
redis:
image: redis
environment:
- HOST='localhost'
- PORT=6379
ports:
-"0.0.0.0:${PORT}:6379"