使用Docker Compose创建Jenkins容器时遇网络配置错误求助
解决Docker Compose中"network must be a mapping, not a string"错误
你的Docker Compose配置触发这个错误,是因为networks段的语法不符合规范。自定义网络定义时,net条目后面必须是映射结构(哪怕是空映射),不能只写net:留空,否则会被识别为字符串,引发语法报错。
修正后的完整配置
version: '3' services: jenkins: container_name: jenkins image: jenkins/jenkins ports: - "8080:8080" volumes: - "$PWD/jenkins_home:/var/jenkins_home" # Linux/macOS用$PWD,Windows替换为%cd% networks: - net networks: net: {} # 用空映射替代原空行,符合语法要求
关键说明
- 核心修正:将
networks下的net:改为net: {},明确这是映射类型配置,解决语法错误。 - 路径注意:Linux和macOS系统推荐用大写
$PWD,Windows系统需换成%cd%,保证主机路径能被正确解析。
内容的提问来源于stack exchange,提问作者Guhan BM
相关产品推荐
相关产品推荐

