Jenkins and Docker sync well together. Cloud containers are one powerful tool for building software in various environments; moreover, Jenkins is the most suitable tool to run inside a container.
Although the frequently occurring questions are:
- How do you manage a Jenkins controller and agents together in Docker?
- What if the container crashes? And
- How do you back up the data after Jenkins is containerized?
This article answers all your questions with the clarity of how to install Jenkins the right way. Using Docker compose will undoubtedly make things faster and reusable. So let’s get started with the basic answers.
What is Jenkins?
Jenkins is a self-contained, open-source automation tool that can be used to automate all tasks related to building, testing, and delivering or deploying software. Jenkins is synonymous with continuous integration and continuous delivery (CI/CD).
The below image shows Jenkins integration with various DevOps tools.
[Also Read: Best productivity tools for mobile app developers]
What are containers?
Containers are software packages containing all the necessary elements to run in any environment. Multiple containers can run on the same machine and share the OS kernel with other containers.
What is Docker Compose?
It’s a tool for defining how to run multiple containers in a single configuration file and start, stop, and restart them with a single command.
Running Jenkins with Docker compose
Prerequisites
- OS: Ubuntu
- Install Docker and Docker compose
Run these commands in terminal
Change Host Name to Jenkins
> sudo hostname Jenkins
Install docker-compose
> sudo apt update > sudo apt-get install docker-compose -y
Check version of docker by command
> docker-compose --version
Add current user to the docker group
> sudo usermod -aG docker $USER
Create Directory
> mkdir ~/jenkins
Jenkins setup
Create docker-compose.yml fileExecute yaml file
> sudo vi docker-compose.yml version: '3.3' services: jenkins: image: jenkins/jenkins:lts restart: unless-stopped privileged: true user: root ports: - 8080:8080 container_name: jenkins volumes: - ~/jenkins:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock - /usr/local/bin/docker:/usr/local/bin/docker
Note: Paste this code in the yaml file.
Execute yaml file
> sudo docker-compose up -d
Now you can access the browser with the ip of the instance with port 8080. It will show up like the page below.
To generate an Administrator password, use the below command.
> docker exec jenkins-lts cat /var/jenkins_home/secrets/initialAdminPassword
OR
> docker logs jenkins | less
Enter the password and continue to the next page.
Select Install Suggested Plugins on the next page; next, Enter a username and password and click Save and Continue.
The next page allows you to change your controller’s hostname. You can accept the default and click Save and Finish.
Jenkins is ready to set up an agent!
What are some of the top business benefits of running Jenkins in a docker container?
Businesses prefer Jenkins in a docker container when they want most of the configuration from the server under control. Most organizations keep Jenkins in the pipeline when they want the ability to run the server locally on any machine while experimenting with new features and configurations.
Installing Jenkins with Docker composer will help businesses with:
- Easy deployment and scalability
- Higher density with more workload running capacity
- Faster delivery of applications
- Flexible management of environment
Wrapping up
In this article, we discovered how to configure a Jenkins controller with Docker compose. We asked you to set it up in volume so you can save the instance data between restarts.
This is just the beginning of Docker Composer’s capabilities. You can finally encounter how the tool helps you administer CI/CD infrastructure. It’s time to get started with Docker compose today to extend the above mentioned benefits in your pipeline.
Need assistance? Consult our experts for personalized solutions.
How Much Does it Cost to Build a Cloud Based Digital Signage Software?
Imagine you are an entrepreneur with a vision: a world where digital displays are everywhere, delivering timely information, immersive advertising, and dynamic content in places as diverse as airports, retail stores, and corporate offices. You have also identified the growing demand for digital signage—something seen in its $26.5 billion market size—but creating robust cloud-based enterprise…
Cloud Manufacturing Software - Benefits, Types, Development Process and Cost Analysis
Cloud computing is set to become a bigger part of the manufacturing industry's future as it continues to embrace digital transformation. With advancements in manufacturing software, cloud-based solutions are here to stay and only grow with time. The potential of ERP can be realized with the help of cloud manufacturing software, which eliminates the need…
Cloud Computing in Oil and Gas Industry - Identifying Business Opportunities and Challenges
In an industry where the pressure of data is as intense as the pressure in the deep sea, oil and gas companies grapple with managing enormous volumes of information, streamlining operations, and controlling costs. Traditional systems often buckle under the weight of this data deluge, leading to fragmented processes, operational inefficiencies, and hefty capital expenditures…