Hands on DevSecOps Coaching that is provided on AWS and Azure Cloud platforms. Contact Coach AK at devops.coaching@gmail.com for more info. You can also reach out to Coach AK at +1(469) 733-5248
Please follow the steps to install Jenkins using Docker compose on Ubuntu 22.0.4 instance.
What is Docker Compose?
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.
The purpose of docker-compose is to function as docker cli but to issue multiple commands much more quickly. To make use of docker-compose, you need to encode the commands you were running before into a docker-compose.yml file
Run docker-compose up and Compose starts and runs your entire app.
Change Host Name to Jenkins sudo hostname Jenkins
Perform update first sudo apt update
Now lets start Docker. compose installation first:
Install Docker-Compose
sudo apt-get install docker-compose -y
Add current user to docker group
sudo usermod -aG docker $USER
Create directory
mkdir ~/jenkins
Jenkins Setup
Create docker-compose.yml
this yml has all configuration for installing Jenkins
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
Now execute the compose file using Docker compose command:
Now Go to AWS console. Click on EC2, click on running instances link. Select the checkbox of EC2 you installed Jenkins. Click on Action. Copy the value from step 4 that says --> Connect to your instance using its Public DNS:
Now go to browser. enter public dns name or public IP address with port no 8080.
One of the amazing features of Terraform is, it tracks the infrastructure that you provision. It does this through the means of state. By default, Terraform stores state information locally in a file named terraform.tfstate. This does not work well in a team environment where if any developer wants to make a change he needs to make sure nobody else is updating terraform in the same time. You need to use remote storage to store state file.
With remote state, Terraform writes the state data to a remote data store, which can then be shared between all members of a team. Terraform supports storing state in many ways including the below: