You can use the Docker push command to push images to the Docker hub. Docker hub allows us to create repositories where we can store and manage Docker images. Repositories are a set of similar images identified by their tags. For example, Docker contains several versions of Ubuntu images inside the Ubuntu repository. Each Ubuntu image is identified by a separate tag such as xenial, 18.04, 20.04, focal, etc.
Pushing images to the Docker hub is fairly simple. Once you have pushed images to the Docker hub, you can easily share them with your organization members. In fact, you can even use the Docker push command to push images to your private and locally hosted repositories. You can create local private registries using the registry image that the Docker hub provides.
You just need to run a container of the registry image, tag your images in the form of localhost:5000/<image-name> and execute the Docker push command. The daemon will automatically push it to your private registry.
In this article, we will see how to push an image to Docker hub. Before we move ahead, check out our article on What are Docker registries and how to create a repository in Dockerhub?. Also, check out our completely free Docker Tutorial for Beginners.
To understand this topic better, you should know about the following concepts.
Creating a Docker hub repository
First of all, you need to have a Docker hub repository created where you can push your images. Let’s create a new repository called myubuntu where we will push a customized ubuntu image.
To do so, you need to have a Docker hub account. You can create one here. After you are done, click on the create a repository link to start creating the repository on the Docker hub.
After you have entered all the details, click on the create link below. You have now successfully created the myubuntu repository. You can see the two commands written in the pro tip section. These are used to tag the image to the repository and then push it to the Docker hub.
Next, Log In to Docker Hub through Command line using the Docker login command.
$ docker login
It will prompt you to enter your username and password.
Create a Docker Image to Push
Now, we need to create an Image. You can check out this guide on how to build Docker Images? For this example, we will pull an Ubuntu image from Dockerhub and run a container associated with that image. To do so, we can use the following command.
$ docker pull ubuntu
Now, let’s list all the images.
$ docker images
You can see that our Ubuntu image has been pulled successfully.
Tag the Docker Image
The next step is to tag the Ubuntu image so that the daemon knows on which repository to push the image. To do so, we can use the Docker tag command.
$ docker tag local-image:tag-name username/reponame:tagname
Since we want to push the Ubuntu:latest image in our local machine to the myubuntu repository on Docker hub account with user name iamrj846, we can use the following command.
$ docker tag ubuntu:latest iamrj846/myubuntu:myubuntutag
Once done, list all the images to verify.
Push Image to Docker Hub
The general syntax of the Push command is –
$ docker push [OPTIONS] NAME[:TAG]
The following options can be used along with this command.
|-a||If you want to push all the tagged images of the particular image name, you can use this option.|
|You can use this to skip the signing of the images.|
|-q||You can use quiet option to suppress the verbose output.|
Now, it’s time to push the image to the Docker hub.
$ docker push <username>/<reponame>:<tagname>
Here, we need to specify the username, repository name, and the tag of the image.
$ docker push iamrj846/myubuntu:myubuntutag
To verify whether the image has been pushed or not, you can navigate to the tags section in your myubuntu repository.
If you want to pull this image back, you can use the following command.
$ docker pull iamrj846/myubuntu:myubuntutag
In this article, we discussed how to push images to the Docker hub using the Docker push command. We saw how to create a Docker hub repository, tag images, and push the tagged image to the repository.
If you have any queries or suggestions, please mention them in the comment and we will have our experts get back to you.
Recommened Articles –
- What is Docker?
- Docker Registry | What are Docker Registries and Docker Hub?
- How to Build Docker Images?
- How to Pull Docker Images?