Jenkins with DooD (Docker outside of Docker)
277
This Dockerfile build an image for Jenkins with capabilities of using Docker outside of Docker.

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --restart=always \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock onisuly/jenkins-dood
NOTE: read below the build executors part for the role of the 50000 port mapping.
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 an explicit volume so you can manage it and attach to another container for upgrades :
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --restart=always \
-v /path/to/your/jenkins_home:/var/jenkins_home \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock onisuly/jenkins-dood
this will automatically create a 'jenkins_home' docker volume on the host machine, that will survive the container stop/restart/deletion.
NOTE: Avoid using a bind mount from a folder on the host machine into /var/jenkins_home, as this might result in file permission issues (the user used inside the container might not have rights to the folder on the host machine). If you really need to bind mount jenkins_home, ensure that the directory on the host is accessible by the jenkins user inside the container (jenkins user - uid 1000) or use -u some_other_user parameter with docker run.
Read Jenkins documentation for more usages.
Content type
Image
Digest
Size
300.7 MB
Last updated
almost 7 years ago
docker pull onisuly/jenkins-dood