执行docker-compose build报错:services.app.build.args必须为映射类型
问题原因及解决方案
错误根源
你遇到的 services.app.build.args must be a mapping 错误,是因为 build.args 配置要求使用键值对映射格式,但你当前用了带短横线的列表(数组)写法,不符合YAML解析规则。
另外配置里还有一处语法问题:ports 字段的 - "8000:8000" 中,短横线和引号之间缺少空格,这也会导致YAML解析失败。
修正后的配置文件
version: "3.9" services: app: build: context: . args: DEV: true ports: - "8000:8000" volumes: - ./app:/app command: > sh -c "python manage.py runserver 0.0.0.0:8000"
关键说明
build.args改为映射格式(去掉短横线,直接写键: 值),Docker Compose才能正确识别要传递给Dockerfile的构建参数。- 修正
ports行的空格问题,保证YAML语法完全合法。
内容的提问来源于stack exchange,提问作者piyupriyanshi06
相关产品推荐
相关产品推荐

