Docker Compose配置文件无效报错:services.vote不支持'db'配置项
问题原因及修复方案
错误原因
YAML 是严格依赖缩进的配置语言,你编写的 docker-compose.yml 里,redis、worker、db、result 这几个服务的配置错误缩进在了 vote 服务的配置块内部,Docker Compose 会把它们识别成 vote 服务的子配置项,但 vote 服务并不支持这些配置字段,因此抛出了Unsupported config option for services.vote: 'db'的错误。
另外,db 服务的 environment 配置项也存在缩进问题,环境变量需要缩进在 environment 下方。
修正后的配置代码
version: '3.8' services: vote: image: dockersamples/examplevotingapp_vote:before ports: - "5000:80" redis: image: redis:alpine ports: - "6379:6379" worker: image: dockersamples/examplevotingapp_worker db: image: postgres:9.4 environment: POSTGRES_USER: "postgres" POSTGRES_PASSWORD: "postgres" result: image: dockersamples/examplevotingapp_result:before ports: - "5001:80"
关键修正点
- 所有服务(
vote、redis、worker、db、result)都要作为services的直接子节点,保持相同的缩进层级 db服务的环境变量需正确缩进在environment配置下
内容的提问来源于stack exchange,提问作者Vijay Sapte
相关产品推荐
相关产品推荐

