执行docker-compose up时出现“services must be a mapping”错误求助
错误原因
services must be a mapping 错误的核心是你的docker-compose.yml文件中services节点的语法结构不符合规范:
services下必须以服务名称作为键(比如你的web),每个服务的配置(build、ports等)要嵌套在对应服务名称的层级下- 你把
build: .直接写在了services根节点下,没有归属到web服务,导致Docker Compose无法识别正确的服务映射结构
修正后的docker-compose.yml文件
version: "3.9" services: web: build: . ports: - "8000:8000" command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code
关键修正点
- 将
build: .缩进一级,放到web服务的配置节点下,保证所有服务相关配置都属于对应的服务名称 - YAML文件对缩进严格敏感,必须使用统一的缩进(建议2个空格),不能混用空格和制表符
内容的提问来源于stack exchange,提问作者EcDhyne
相关产品推荐
相关产品推荐

