Jenkins inside docker loses configuration when container is restarted

I have followed the next guide https://hub.docker.com/r/iliyan/jenkins-ci-php/ to download the docker image with Jenkins.

When I start my container using docker start CONTAINERNAME command, I can access to Jenkins from localhost:8080.

  • Docker seems to have no tty?
  • Docker can not run on Windows 10 linux child system
  • mysqli not found in (php-fpm) docker container
  • cAdvisor: How to run it with a remote docker API?
  • Problems with docker container to container communication on same host when firewalld/iptables is enabled
  • Docker kill an infinite process in a container after X amount of time
  • The problem comes up when I change Jenkins configuration and restart Jenkins using docker stop CONTAINERNAME and docker start CONTAINERNAME, my Jenkins doesn’t contain any of my previous configuration changes..

    How can I persist the Jenkins configuration?

  • Neo4J with Py2neo: Unauthorized error HTTPS
  • Do not download all Maven dependencies on a Docker build
  • Docker: Error processing tar file(exit status 1): Error setting up pivot dir: not a directory
  • Can not access wordpress configured in Docker even though its status is running
  • Download S3 file to docker image in EBS
  • How to use fontawesome with vue.js
  • One Solution collect form web for “Jenkins inside docker loses configuration when container is restarted”

    You need to mount the Jenkins configuration as a volume, the -v flag will do just that for you. (you can ignore the --privileged flag in my example unless you plan on building docker images inside your jenkins docker image)

    docker run --privileged --name='jenkins' -d -p 6999:8080 -p 50000:50000 -v /home/jan/jenkins:/var/jenkins_home jenkins:latest
    

    The -v flag will mount your /var/jenkins_home outside your container in /home/jan/jenkins maintaining it between rebuilds.

    --name so that you have a fixed name for the container to start / stop it from.

    Then next time you want to run it, simply call

    docker start jenkins
    
    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.