本文主要是介绍services.Jenkins Additional property tags is not allowed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天需要给Jenkins server添加几个tag,于是就在docker的compose文件中添加了如下的tags,
version: "3.9" services:jenkins:image: testbuild: context: services/jenkinsargs:- jenkins_version=2.346.2- plugin_cli_version=2.9.3volumes:- jenkins-home:/var/jenkins_homeports:- 443:443enviroments:- JAVA_OPT=-XMx4096m
tags:project: test_projectmaintainer: test@email.com
添加之后,再执行以下docker命令:
docker stack deploy -c docker-compose.yml testtags
得到的错误是:
services.Jenkins Additional property tags is not allowed
查阅了很多信息,得到错误的解决方案可能如下:
1) 在tags前面加一个空行,就可以解决了。没有空行的话,可能会把tags认为是services.Jenkins的属性;
2) 有些属性是跟版本有关的,有些版本里不支持,有些版本里支持。如果不支持的元素出现在了compose 文件里,也会报类似的:Additional property xxx is not allowed的错误。 例如:在3.x里添加runtime,也会报类似错误,如果上面的代码改成如下:
version: "3.9" services:jenkins:image: testruntime: testx-runcbuild: context: services/jenkinsargs:- jenkins_version=2.346.2- plugin_cli_version=2.9.3volumes:- jenkins-home:/var/jenkins_homeports:- 443:443enviroments:- JAVA_OPT=-XMx4096mtags:project: test_projectmaintainer: test@email.com
原因就是:docker compose schema version 3.x 没有runtime:
元素。所以不能识别这个属性。
总之,如果出现Additional property xxx is not allowed,就可能有两种原因:第一、属性不支持,需要考虑是否切换版本,或者使用新版本支持的属性;第二、属性的位置不对。
具体版本支持哪些元素,可以参考:https://docs.docker.com/compose/compose-file/03-compose-file/。
这篇关于services.Jenkins Additional property tags is not allowed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!