You need to enable JavaScript to run this app. 运行docker compose启动Jenkins容器时报docker-compose.yml network类型错误
优惠活动
大模型
产品
解决方案
定价
更多

运行docker compose启动Jenkins容器时报docker-compose.yml network类型错误

Docker Compose 启动Jenkins报网络类型错误排查

报错信息

执行容器启动命令时返回如下错误:

ERROR: In file './docker-compose.yml', network must be a mapping, not a string.

当前使用的Docker版本为20.10.3,构建版本48d30b5,原始配置存在多处YAML语法与层级错位问题,是触发报错的核心原因。

原配置文件存在的具体问题

  • 层级缩进错位:原本属于顶层定义的networks块被错误缩进至services节点内部,compose解析器读取到非服务定义的内容时,对网络配置做类型校验不通过,直接抛出报错
  • 服务配置项拼写错误:Jenkins服务下使用了单数形式的volume字段,正确的Docker Compose配置字段为复数形式的volumes
  • YAML列表项格式不规范:所有列表项的短横线与后续值之间缺少空格,例如-"8080":"8080"、-"$PWD/jenkins_home:/var/jenkins_home"、-net,这类写法会被YAML解析为单个字符串,而非结构化的列表配置
  • 顶层网络定义格式错误:末尾的networks: net直接将网络名作为字符串值挂载在networks节点下,按照compose语法要求,每个自定义网络必须是映射类型的配置条目,不能直接写字符串

修正后的可用配置

将配置文件调整为如下内容即可正常启动:

version: '3'
services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins
    ports:
      - "8080:8080"
    volumes:
      - "$PWD/jenkins_home:/var/jenkins_home"
    networks:
      - net
# 顶层网络定义与services节点保持同层级,不缩进
networks:
  net:
    driver: bridge

修改完成后在配置文件所在目录执行docker compose up -d,即可正常拉起Jenkins容器。

内容的提问来源于stack exchange,提问作者Sreenath Reddy Seelam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 22:36:04