Tuesday, January 11, 2022

Install SonaType Nexus 3 using Docker Compose | Install SonaType Nexus 3 using Docker on Ubuntu 18.0.4 | Install Nexus 3 using Docker-Compose

How to setup SonaType Nexus 3 using Docker compose?

Nexus is open source, binary repository manager and Java based tool. It can be installed quickly using Docker with less manual steps.

Watch Steps in YouTube channel:


  • Ubuntu EC2 up and running with at least t2.medium(4GB RAM), 2GB will not work
  • Port 8081 is opened in security firewall rule

Perform System update
sudo apt-get update

Install Docker
sudo apt-get install docker -y

Install Docker-Compose
sudo apt-get install docker-compose -y

Add current user to Docker group
sudo usermod -aG docker $USER

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.

Create docker-compose.yml
this yml has all configuration for installing Nexus on Ubuntu EC2.
sudo vi docker-compose.yml 

(Copy the below code high-lighted in yellow color)
version: "3"
    image: sonatype/nexus3
    restart: always
      - "nexus-data:/sonatype-work"
      - "8081:8081"

  nexus-data: {}

Save the file by entering :wq!

Now execute the compose file using Docker compose command to start Nexus Container
sudo docker-compose up -d 

-d means detached mode

Make sure Nexus 3 is up and running
sudo docker-compose logs --follow

How to get Nexus admin password? sure Nexus 3 is up and running

Once you see the message, that's it. Nexus 3 is been setup successfully. press control C and enter.
Now access Nexus UI by going to browser and enter public dns name with port 8081
Now to go to browser --> http://change to_nexus_publicdns_name:8081

We need to login to docker container to get admin password.
Identify Docker container name
sudo docker ps

Get admin password by executing below command
sudo docker exec -it ubuntu_nexus_1 cat /nexus-data/admin.password

Please follow below steps for integrating Nexus 3 with Jenkins


How to Stop Nexus Container
sudo docker-compose down

No comments:

Post a Comment