执行docker compose up出现Additional property servicies is not allowed错误怎么办
报错根本原因
当前触发的Additional property servicies is not allowed报错由拼写错误直接导致,你的配置文件还存在多处其他YAML语法、字段拼写错误:
- 顶级字段拼写错误:Docker Compose 规定的服务顶级字段为
services,你错误拼写为servicies,Docker无法识别该字段直接抛出报错 - 环境变量字段拼写错误:两处服务下的配置字段
enviroment为错误拼写,正确应为environment - YAML语法错误:
- mongodb的volumes配置
-data:/data缺少短横线后必须的空格,正确应为- data:/data - mongo-express的environment最后一行错误将
volumes:顶级字段和上一行配置写在同一行,破坏了YAML层级结构 - 顶级
networks字段前存在多余缩进,不符合YAML缩进规则 - mongodb的环境变量重复定义了
MONGO_INITDB_ROOT_USERNAME,第二个变量应为MONGO_INITDB_ROOT_PASSWORD,会导致MongoDB初始密码配置失效
- mongodb的volumes配置
修复方法
使用下方修正后的配置替换原有docker-compose.yml内容即可:
version: "3.8" services: mongodb: image: mongo container_name: mongodb ports: - 27017:27017 volumes: - data:/data environment: - MONGO_INITDB_ROOT_USERNAME=rootuser - MONGO_INITDB_ROOT_PASSWORD=rootpass mongo-express: image: mongo-express container_name: mongo-express restart: always ports: - 8081:8081 environment: - ME_CONFIG_MONGODB_ADMINUSERNAME=rootuser - ME_CONFIG_MONGODB_ADMINPASSWORD=rootpass - ME_CONFIG_MONGODB_SERVER=mongodb volumes: data: {} networks: default: name: mongodb_network
修复完成后重新执行docker compose up命令即可正常启动服务。
内容的提问来源于stack exchange,提问作者lomr4n
相关产品推荐
相关产品推荐

