How to deploy Jenkins using docker-compose?

Windows Articles

New Office app arrives: free and renewed

Microsoft goes one step further. This time positive. This week the Redmond people launched the new Office app for Windows 10. The...

How to install Gradle on Ubuntu 20.04?

Hi, folks. In this post dedicated to Java, you will learn how to install Gradle on Ubuntu 20.04 Gradle...

Linux 5.8 Released

A few days ago, Luis Torvalds was discussing to release Linux 5.8-rc8 or he releases Linux 5.8 as stable. In the end,...

How to install the MIUI 12 Control Center on any Android Device

Mi Control Center is a third-party application that allows you to install the MIUI 12 Control Center on your Android device. It...

Make your life easier with this top 5 shortcuts with the Windows key

Windows has many access tricks that make it easy to use. Usually, common users are unaware of most of them. The shortcuts...
angeloma
angeloma
Senior Writer and partner

We already know the potential of Docker and how easy it is to display images thanks to Docker-compose. In this post, you will learn how to deploy Jenkins using Docker-compose. This is in order to avoid manual installation of the application. Moreover, with this method, you do not have to worry about the operating system but just have Docker installed.

Install Docker and Docker-compose

The first thing to do is to install Docker and Docker compose in our system. In the case of Debian 10, there is a tutorial of ours that you can use as a guide.

For the rest of the distributions, it is a good idea to read Docker’s official documentation. Anyway, it is not hard to do.

Deploy Jenkins using Docker-compose

As we explained in the post to deploy LAMP using Docker-compose, the definitions of images and their options, we do them in a file with the extension YML. To do this, it is recommended to first make a folder and within it create the file.

So, open a terminal session and type the following:

:~$ mkdir jenkins && cd jenkins

Once we have entered the folder using your favorite text editor proceed to create the docker-compose.yml file.

:~$ nano docker-compose.yml

Once inside, we will begin to define the content.

version: '2'
services:
  jenkins:
  image: 'bitnami/jenkins:2'

First the basic file definitions. The version to use will be the 2. And we will deploy only a service that will be called jenkins. For it, we will use the image Jenkins of bitnami. It is very well documented and quite reliable.

Then, we continue with the definition of the options.

ports:
      - '80:8080'
      - '443:8443'
      - '50000:50000'
    volumes:
      - 'jenkins_data:/bitnami'
volumes:
  jenkins_data:
  driver: local

In this section, you define the ports that the image will use. Remember that Jenkins uses the 8080 but we will access the 8080 port of the image through the 80. So, the 443 is for secure connections with Jenkins.

Equally, with LAMP, it is advisable to mount a volume for the Jenkins data. And at the end of the file, we refer to the options of that volume.

So, the file will be completed as follows:

version: '2'
services:
  jenkins:
    image: 'bitnami/jenkins:2'
    ports:
      - '80:8080'
      - '443:8443'
      - '50000:50000'
    volumes:
      - 'jenkins_data:/bitnami'
volumes:
  jenkins_data:
  driver: local

1.- Docker-compose file for Jenkins
1.- Docker-compose file for Jenkins

We can now raise the image, but I want to show you a few more options.

Some useful options to deploy Jenkins

This Jenkins image is customizable thanks to environment variables that can be modified. Some of them are these:

  • JENKINS_USERNAME: Jenkins admin username.
  • JENKINS_PASSWORD: Jenkins admin password.
  • JENKINS_HOME: Jenkins home directory.
  • DISABLE_JENKINS_INITIALIZATION: Allows to disable the initial Bitnami configuration for Jenkins.
  • JAVA_OPTS: Customize JVM parameters.

To use and modify them, just add them to the file in the environment section. For example:

jenkins:
  ...
  environment:
    - JENKINS_PASSWORD=your-password
  ...

Note: by default the user is user and the password is bitnami. Then, you can modify it from Jenkins once it has been deployed.

Running and testing Jenkins

Once you have finished defining the docker-compose file. Now we can execute it with the following command:

:~$ sudo docker-compose up -d

2.- Deploy Jenkins using docker-compose
2.- Deploy Jenkins using docker-compose

Next, open your web browser and go to your server using the port 80.

3.- Jenkins is almost ready to work
3.- Jenkins is almost ready to work

Then, login into the application using the default credentials or yours.

4.- Jenkins log in screen
4.- Jenkins log in screen

After that, you will see the dashboard.

5.- Everything is OK
5.- Everything is OK

And that is it.

Conclusion

Jenkins is a very popular application and it is possible to install it on our server using docker. This way we save a lot of time on some operating-system configurations. However, for total control of it, it is advisable to do it manually.

You can read How to install Jenkins on Debian 10?

Please share this post and join our Telegram channel.

More articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest article

New Office app arrives: free and renewed

Microsoft goes one step further. This time positive. This week the Redmond people launched the new Office app for Windows 10. The...

How to install Gradle on Ubuntu 20.04?

Hi, folks. In this post dedicated to Java, you will learn how to install Gradle on Ubuntu 20.04 Gradle...

Linux 5.8 Released

A few days ago, Luis Torvalds was discussing to release Linux 5.8-rc8 or he releases Linux 5.8 as stable. In the end,...

How to install the MIUI 12 Control Center on any Android Device

Mi Control Center is a third-party application that allows you to install the MIUI 12 Control Center on your Android device. It...

Make your life easier with this top 5 shortcuts with the Windows key

Windows has many access tricks that make it easy to use. Usually, common users are unaware of most of them. The shortcuts...