PUSH/PULL Docker Image form Private Repository (Nexus)

PUSH/PULL Docker Image form Private Repository (Nexus)

PUSH/PULL Docker Image form Private Repository (Nexus)



Pre-Requisities:

Server 1: Ubuntu                                         Server 2: Ubuntu

Install the below softwares in Server1          Install the below softwares in Server2

Java 8                                                              Docker

Docker

Jenkins

Maven/Gradle

Server 1:

1   We are going to build our project using maven/gradle

2   Through docker file we are going to create an docker image for that project

3   We are going to push the docker image to Nexus (docker hosted) repo

Server 2:

1  We are going to pull the docker image form Nexus (docker hosted) repo

2   Create a container using the docker image

Nexus Repository (docker hosted,proxy) Creation:

docker hosted:   

1) log in to your Nexus repository.

2) Create docker hosted

Here give a name to the repo (dock-hosted), then we are going to assign a port to this docker hosted repo. Through this port we are going to access this repo. (Note: you should not give 8081 because it is already assigned to Nexus Repo, so use different port number)

In this case I have assigned 8083 for this repo.

3) Keep the remaining settings as it is and create a repository

Note: Open 8083 in AWS Security Groups.

Ubuntu Configuration : Server 1 & 2

Do these steps in both the servers in order to push and pull docker images from Nexus Repo.

  1. Login as root user
  2. Go to /etc/docker

            cd /etc/docker

  1. Then create a file called daemon.json

vi /etc/docker/daemon.json

  1. Write these script in daemon.json

{

  “insecure-registries”: [ “13.234.21.143:8083” ]

}

(Here we are allowing our docker daemon to access the Nexus Hosted Repo)

  1. Save the file
  2. Restart docker service using below command.

            systemctl restart docker

 

Server 1: Login,Build & Push

1 Login to Nexus repo

docker login –u admin –p password 13.234.21.143:8083

(or)

docker login 13.234.21.143:8083

2  Build an image using below command.

docker build –t 13.234.21.143:8083/image1 .

(here while building an docker image we will use ip address with a port for the docked hosted repo instead of the username in hub.docker.com)

Push docker image to Nexus Repo

Server 2: Pull image/Run container

  1. Login to Nexus

2   Pull docker image

3  Build a container

docker run –d –p 8090:8080 –p 9990:9990 – -name wildfly 13.234.21.143:8083/image1

(I am using wildfly to deploy)    

Post Tags :

Leave a Reply

X