services.Jenkins Additional property tags is not allowed

今天需要给Jenkins server添加几个tag,于是就在docker的compose文件中添加了如下的tags,

Groovy 复制代码
version: "3.9" 

services:
  jenkins:
    image: test
    build: 
      context: services/jenkins
      args:
        - jenkins_version=2.346.2
        - plugin_cli_version=2.9.3
    volumes:
      - jenkins-home:/var/jenkins_home
    ports:
      - 443:443
	enviroments:
		- JAVA_OPT=-XMx4096m
tags:
	project: test_project
	maintainer: test@email.com

添加之后,再执行以下docker命令:

Puppet 复制代码
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,也会报类似错误,如果上面的代码改成如下:

Groovy 复制代码
version: "3.9" 

services:
  jenkins:
    image: test
    runtime: testx-runc
    build: 
      context: services/jenkins
      args:
        - jenkins_version=2.346.2
        - plugin_cli_version=2.9.3
    volumes:
      - jenkins-home:/var/jenkins_home
    ports:
      - 443:443
	enviroments:
		- JAVA_OPT=-XMx4096m

tags:
	project: test_project
	maintainer: 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/

相关推荐
SCBAiotAigc23 分钟前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能
摇滚侠5 小时前
黑马 Elasticsearch 全套教程,黑马旅游网案例
大数据·elasticsearch·jenkins
身如柳絮随风扬7 小时前
使用 Docker 部署禅道并实现自动化部署——从项目搭建到运维自动化的完整指南
运维·docker·自动化
eRTE XFUN8 小时前
docker下搭建redis集群
redis·docker·容器
一只小bit9 小时前
Docker 存储卷:本地文件与容器内部文件建立绑定关系
运维·docker·容器
都在酒里9 小时前
在公共服务器上构建 RK3588 SDK 的纯净 Docker 方案
运维·服务器·docker
jeCA EURG9 小时前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
身如柳絮随风扬10 小时前
使用 Docker 部署 Jenkins 并实现自动化部署 —— 从零到一的 CI/CD 实践指南
docker·自动化·jenkins
就叫飞六吧10 小时前
docker快速启动sqlserver实例并自动测试shell脚本
docker·容器·sqlserver
醉颜凉10 小时前
Elasticsearch高阶聚合实战:Pipeline Aggregation 用法详解与典型场景全攻略
大数据·elasticsearch·jenkins