You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行docker-compose build --no-cache报YAML解析错误如何修复

问题根因

执行docker-compose build --no-cache触发的YAML解析错误,全部来自配置文件格式不规范,具体错误点:

  • 顶层键前置多余空格:version作为顶层配置项必须顶格书写,原配置在version前加了3个多余空格,直接触发第一行的解析异常
  • 配置层级归属错误:webserver、db属于和app平级的服务,全局volumes、全局networks属于和version、services平级的顶层配置,原配置错误将上述内容全部缩进为app服务的子项,完全不符合YAML层级规则
  • 缩进量不统一:app服务下的volumes、networks字段比同层级的working_dir等字段多缩进1个空格,YAML对同层级配置缩进一致性要求极高,空格数差异会直接触发解析失败
  • 列表项格式错误:所有网络引用写法为-app-network,短横线后缺少必填空格,正确格式为- app-network
  • 注释位置偏移:Nginx服务、MariaDB服务、全局存储卷、全局网络的注释被错误缩进至app服务内部,导致解析器误判后续配置的归属层级
修正后的完整配置

直接替换原docker-compose.yml全部内容即可:

version: '3'
services:
  #PHP-FPM service
  app:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: store
    restart: unless-stopped
    tty: true
    working_dir: /var/www
    volumes:
      - ./:/var/www
      - ./docker-files/php/local.ini:/usr/local/etc/php/conf.d/local.ini
    networks:
      - app-network

  #Nginx service
  webserver:
    image: nginx:alpine
    container_name: store-webserver
    restart: unless-stopped
    tty: true
    ports:
      - "8100:80"
      - "8143:443"
    volumes:
      - ./:/var/www
      - ./docker-files/nginx/conf.d:/etc/nginx/conf.d/
    networks:
      - app-network

  #MariaDB service
  db:
    image: mariadb:10.5.6
    container_name: store-mariadb
    restart: unless-stopped
    tty: true
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: store
      MYSQL_USER: store
      MYSQL_PASSWORD: root
    volumes:
      - mariadbData:/var/lib/mysql
      - ./docker-files/mariadb/my.cnf:/etc/mysql/my.cnf
    networks:
      - app-network

#Volumes
volumes:
  mariadbData:
    driver: local

#Networks
networks:
  app-network:
    driver: bridge

*注:原配置中Nginx镜像写为nginx-alpine无对应公共官方镜像,已修正为标准镜像名nginx:alpine,如果使用的是自定义本地镜像可自行改回原名称。

替换完成后重新执行构建命令即可正常运行。

内容的提问来源于stack exchange,提问作者AshkingFlawless

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 05:12:27