docker-compose.yml报yaml.parser.ParserError块映射解析错误如何解决
Docker Compose YAML 解析错误排查
报错信息:yaml.parser.ParserError: while parsing a block mapping in "./docker-compose.yml", line 6, column 5 expected , but found '' in "./docker-compose.yml", line 15, column 6
错误成因
YAML 语法对缩进要求极其严格,必须使用空格且同层级属性缩进完全一致。本次报错的核心原因是db服务下的networks属性缩进错误:db节点下的同级属性(image/volumes/restart/environment)统一缩进4个空格,而第15行的networks仅缩进了3个空格,YAML解析器会误认为该属性属于上层的environment块映射,导致映射结构解析失败。
修复方案
- 调整
db服务下networks属性的缩进,和同层级其他属性保持一致 - 可选:统一规范
volumes下挂载路径的缩进,避免后续潜在解析异常
修复后的完整配置如下:
version: '3' services: # Database db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress networks: - wpsite # Wordpress wordpress: depends_on: - db image: wordpress:latest ports: - 8080:80 restart: always volumes: ['./:/var/www/html'] environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress networks: - wpsite networks: wpsite: volumes: db_data:
内容的提问来源于stack exchange,提问作者Hari Shankar
相关产品推荐
相关产品推荐

