docker-compose.yml配置无效报错求助:services.jenkins.volumes类型应为数组
Docker Compose配置无效报错:volumes类型错误的排查与解决
报错原因分析
你的报错信息明确指出services.jenkins.volumes包含无效类型,应该是数组。问题出在docker-compose.yml的volumes配置行上:
volumes: -$PWD/jenkins_home: /var/jenkins_home
这里有两个违反YAML语法规范的问题:
- 列表项格式错误:YAML中数组(列表)的每个元素必须以
-(短横线+空格)开头,你的配置里-和$PWD之间没有空格,导致这一行无法被识别为数组元素,最终volumes的类型不符合要求。 - volume映射格式不规范:Docker Compose的volume映射格式要求冒号
:前后不能有多余空格,你这里冒号后面加了空格,虽然不是直接导致类型错误的原因,但可能引发其他潜在问题。
解决办法
修改docker-compose.yml中的volumes配置行,修正上述两个问题:
version: '3' services: jenkins: container_name: jenkins image: jenkins/jenkins ports: - "8080:8080" volumes: - $PWD/jenkins_home:/var/jenkins_home networks: - net networks: net:
额外验证技巧
修改后可以先运行以下命令验证配置文件的有效性,避免启动容器时再次报错:
docker-compose config
如果命令输出正常的配置内容,说明语法已经没问题了,再执行docker-compose up -d启动Jenkins容器即可。
内容的提问来源于stack exchange,提问作者VishwaV
相关产品推荐
相关产品推荐

