Difficulty: Advanced
Estimated Time: 15-20 minutes

In this scenario you'll learn how to configure Jenkins to build Docker Images based on a Dockerfile. The scenario is designed to demostrate how you can use Docker within a CI/CD pipeline, using Images as a build artefact that can be promoted to different environments and finally production.

The environment pre-configured and running Jenkins build server for you to experiment and learn how it works. The steps guide you to installing the plugin, creating a build and viewing the results.

This scenario took a new Jenkins build and configured it to build Docker Images. We then look an example HTTP server and created a build for it.

Learn how to launch a Private Docker Registry with our scenario.

Building Docker Images using Jenkins

Step 1 of 6

Launch Jenkins

Launch Jenkins as a Docker Container with the following command:

docker run -d -u root --name jenkins \ -p 8080:8080 -p 50000:50000 \ -v /root/jenkins_2112:/var/jenkins_home \ jenkins/jenkins:2.112-alpine

All plugins and configurations get persisted to the host (ssh [email protected]) at _/root/jenkins2112. Port 8080 opens the web dashboard, 50000 is used to communicate with other Jenkins agents. Finally, the image has an alpine base to reduce the size footprint.

Load Dashboard

You can load the Jenkins' dashboard via the following URL https://[[HOST_SUBDOMAIN]]-8080-[[KATACODA_HOST]].environments.katacoda.com/

The username is admin with the password the default 344827fbdbfb40d5aac067c7a07b9230

On your own system, the password can be found via docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

It may take a couple of seconds for Jenkins to finish starting and be available. In the next steps, you'll use the dashboard to configure the plugins and start building Docker Images.