Skip to content
Maybe official jenkins docker repo
Branch: master
Clone or download
Latest commit 00190fb Jul 18, 2014
Type Name Latest commit message Commit time
Failed to load latest commit information.
Dockerfile Moving to LTS by default Jul 18, 2014 a splash of colour Jul 18, 2014
init.groovy sets slave port as docker needs to map ahead of time Jul 15, 2014

Official Jenkins Docker image

The Jenkins Continuous Integration and Delivery server.

This is a fully functional Jenkins server, based on the Long Term Support release


docker run -p 8080:8080 jenkins

This will store the workspace in /var/jenkins_home. All Jenkins data lives in there - including plugins and configuration. You will probably want to make that a persistent volume:

docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home jenkins

The volume for the "myjenkins" named container will then be persistent.

You can also bind mount in a volume from the host:

First, ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 102 normally - or use -u root), then:

docker run -p 8080:8080 -v /your/home:/var/jenkins_home jenkins

Backing up data

If you bind mount in a volume - you can simply back up that directory (which is jenkins_home) at any time.

If your volume is inside a container - you can use docker cp $ID:/var/jenkins_home command to extract the data.

Attaching build executors

You can run builds on the master (out of the box) buf if you want to attach build slave servers: make sure you map the port: -p 50000:50000 - which will be used when you connect a slave agent.


All the data needed is in the /var/jenkins_home directory - so depending on how you manage that - depends on how you upgrade. Generally - you can copy it out - and then "docker pull" the image again - and you will have the latest LTS - you can then start up with -v pointing to that data (/var/jenkins_home) and everything will be as you left it.

You can’t perform that action at this time.