执行docker compose up报yaml: line 8: did not find expected key如何解决
报错原因
这个报错是典型的YAML缩进不规范导致的解析错误,你的配置文件存在2处语法问题:
- 顶级键缩进错误:
version、services、volumes属于同级的顶级配置项,你当前配置中services和volumes都多了前置缩进,不符合YAML语法要求。 - 服务层级缩进错误:同属于
services下的backend和mariadb必须保持完全一致的缩进量,你配置里的mariadb键比backend少了1个前置空格,导致YAML解析器无法识别为合法的服务键,触发第8行的报错。
修复后的完整配置
version: '3' services: backend: build: ./ restart: always volumes: - ./application:/var/www/html ports: - 80:80 mariadb: image: 'bitnami/mariadb:latest' ports: - '3306:3306' volumes: - './mariadb_data:/bitnami/mariadb' environment: - ALLOW_EMPTY_PASSWORD=yes - MARIADB_DATABASE=db_test - MARIADB_USER=test_user - MARIADB_PASSWORD=password - MARIADB_ROOT_HOST='%' volumes: application: driver: local mariadb_data: driver: local
验证方式
修改配置后重新执行docker compose up即可正常启动服务。
内容的提问来源于stack exchange,提问作者Stefano
相关产品推荐
相关产品推荐

