Services.jenkins Additional property runtime is not allowed

I’m trying to run Jenkins through sysbox so I can run docker in docker properly, I followed the install instructions and I’m able to get it to start up from command line but when I add it to my compose file and try and deploy to a swarm I get:

docker stack deploy -c docker-compose.yml build-farm --with-registry-auth:
services.jenkins Additional property runtime is not allowed

my compose file

version: "3.9" 

    external: false
    driver: local
      type: none
      o: 'bind'
      device: '/var/jenkins_home'

    runtime: sysbox-runc
      context: services/jenkins
        - jenkins_version=2.346.2
        - plugin_cli_version=2.9.3
      - jenkins-home:/var/jenkins_home
      - 443:443
      - 636:636
      - 3268:3268
      - 50000:50000
      mode: replicated
      replicas: 1
        constraints: [node.role == manager]

Seems you didn’t check the compose file 3 reference after all, like I suggested in the other thread for a reason…

The docker compose schema version 3.x has no runtime: element. If you need it, you’ll have to use a version 2.x schema (=designed for docker-compose), which does not support swarm deployments.

ok so what do I do to specify runtime

If you read my response from 10 minutes ago, you should have concluded that it’s only available for docker-compose deployment. It is not avilable for swarm deployments.

so what’s the solution for swarm

You can try to change the default runtime in the Docker daemon as it is mentioned in sysbox’s troubleshoot guide: sysbox/ at master · nestybox/sysbox · GitHub


    "runtimes": {
        "sysbox-runc": {
            "path": "/usr/bin/sysbox-runc"

I only tried it with Kata containers in swarm mode. That worked. documentation/ at master · kata-containers/documentation · GitHub

You need to restart the Docker daemon after changing the config.


I realized the troubleshoot guide does not change the default runtime. Sou you need to add an other parameter too, which is in the guide of kata containers:

    "default-runtime": "sysbox-runc",
    "runtimes": {
        "sysbox-runc": {
            "path": "/usr/bin/sysbox-runc"
1 Like