How to push a docker image to a private repository: In this tutorial we will cover the the stages dealing with tagging the image and pushing a docker image to the private repository.
For Docker login please refer Docker login to private registry
Now we need to see the two types of docker registry references when pushing the docker images, lets look at the standard docker registry references.
docker image registry reference types
Public registry format:
The public registry is a free to signup and start using immediately. Here is the docker tagging format.
Private registry format:
The private registry is setup on-premises using a hosted docker registry software like docker-registry, nexus-docker registry are among are some of the popular tools to be named. The software is available over the connected network with the given server-name and the desired port to connect to the docker registry service. The format of it is as below
STEP 1: Tagging a docker image
Tagging is a crucial part, As the docker image will be pre-fixed with the registry name which forms the complete unique docker image identity.
Eg of Public registry format:
So that it registry name is be pushed to the prefixed Repository name, and Hence the docker image needs to be properly tagged.
The information about your current docker login repository can be found with docker info command.
The docker image has to be properly tagged with
docker tag command and prefixed with the Docker-repository name as follows:
[root@docker03:~]# sudo docker tag nginx:v1 nexusreg.linuxcent.com:5000/nginx:v1
the Image gets tagged with the relevant registry name with docker tag command:
[root@docker03:~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest 602e111c06b6 2 weeks ago 127 MB nexusreg.linuxcent.com:5000/nginx v1 0bc8c50014c7 20 minutes ago 193 MB jfrog.linuxcent.com/debian-vamshi v1 0568d1ef9d81 1 day ago 253 MB
STEP 2: Push the image to a Private Docker registry
The docker push offers the user the capability to upload the docker image on disk to be shared onto a remote docker registry / repository with username authorization.
The process to docker push to private repository is a simple command and takes the following syntax:
[root@docker03:~]# docker push [DOCKER-REGISTRY-NAME]/[DOCKER-IMAGE]:[TAG]
This will now enable docker image to be pushed to the destined repository.
The syntax command to push the docker image to the destination repository.
[root@docker03:~]# docker push nexusreg.linuxcent.com:5000/nginx:v1