You need to enable JavaScript to run this app. 运行docker-compose.yml报错service must be a mapping not a NoneType如何解决
优惠活动
大模型
产品
解决方案
定价
更多

运行docker-compose.yml报错service must be a mapping not a NoneType如何解决

docker-compose配置错误修复方案

你遇到的报错核心是YAML缩进不规范导致的结构解析错误,共存在以下几类问题:

  • 服务层级缩进错误:services下的mongodb、mongo-express两个服务未缩进,和services平级,导致解析器无法识别到有效服务映射
  • restart字段位置错误:两处restart: unless-stopped错误缩进为healthcheck的子配置,实际应为服务的顶层配置,和healthcheck平级
  • 全局配置缩进错误:全局声明的volumes、networks配置错误缩进为mongo-express的子配置,实际应和version、services平级
  • 卷配置不完整:mongo-express下的卷配置- mongodb-data缺少容器内挂载路径,无持久化需求可直接删除该行
  • 网络配置缩进错误:全局networks下的name字段未缩进,应为mongodb_network的子配置

修复后完整配置如下:

version: "3.8"
services:
  mongodb:
    image: mongo
    container_name: mongodb
    environment:
      - MONGO_INITDB_ROOT_USERNAME=microservice
      - MONGO_INITDB_ROOT_PASSWORD=A1d2r3i4a5n!
    volumes:
      - mongodb-data:/data/db
    networks:
      - mongodb_network
    ports:
      - 27017:27017
    healthcheck:
      test: echo 'db.runCommand("ping").ok' | mongo 192.168.254.135:27017/test --quiet
      interval: 30s
      timeout: 10s
      retries: 3
    restart: unless-stopped
  mongo-express:
    image: mongo-express
    container_name: mongo-express
    environment:
      - ME_CONFIG_MONGODB_SERVER=mongodb
      - ME_CONFIG_MONGODB_ENABLE_ADMIN=true
      - ME_CONFIG_MONGODB_ADMINUSERNAME=microservice
      - ME_CONFIG_MONGODB_ADMINPASSWORD=A1d2r3i4a5n!
      - ME_CONFIG_BASICAUTH_USERNAME=admin
      - ME_CONFIG_BASICAUTH_PASSWORD=admin123
    depends_on:
      - mongodb
    networks:
      - mongodb_network
    ports:
      - 8081:8081
    healthcheck:
      test:  wget --quiet --tries=3 --spider http://admin:admin123@192.168.254.135:8081 || exit 1
      interval: 30s
      timeout: 10s
      retries: 3
    restart: unless-stopped
volumes:
  mongodb-data:
    name: mongodb-data
networks:
  mongodb_network:
    name: mongodb_network

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 23:06:04