# Pushing Images

**Note**  
If using Nexus Repository Pro, consider [pushing images to a group repository](https://help.sonatype.com/en/pushing-images-to-a-group-repository.html "Pushing Images to a Group Repository").

Sharing an image can be achieved by publishing it to a hosted repository. This is completely private and requires you to `tag` and `push` the image. When tagging an image, you can use the image identifier (`imageId`). It is listed when showing the list of all images with `docker images`. Syntax and an example (using `imageId`) for creating a tag are:

```bash
docker tag <imageId or imageName> <nexus-hostname>:<repository-port>/<image>:<tag>
docker tag af340544ed62 nexus.example.com:18444/hello-world:mytag
```

Once the tag, which can be equivalent to a version, is created successfully, you can confirm its creation with `docker images` and issue the `push` with the syntax:

```bash
docker push <nexus-hostname>:<repository-port>/<image>:<tag>
```

**Note**  
Note that the port needs to be the repository connector port configured for the hosted repository to which you want to push to. You can not push to a proxy repository.

A sample output could look like this:

```bash
$ docker push nexus.example.com:18444/hello-world:labeltest
The push refers to a repository [nexus.example.com:18444/hello-world] (len: 1)
Sending image list
Pushing repository nexus.example.com:18444/hello-world (1 tags)
535020c3e8ad: Image successfully pushed
af340544ed62: Image successfully pushed
Pushing tag for rev [af340544ed62] on  
{https://nexus.example.com:18444/repository/docker-internal/v1/repositories/hello-world/tags/labeltest}
```

Now, this updated image is available in the repository manager and can be pulled by anyone with access to the repository, or the repository group, containing the image. Pulling the image from the repository group exposed at port `18443` can be done with:

```bash
docker pull nexus.example.com:18443/hello-world:labeltest
```

Prior to `push`, and depending on your configuration, repository manager login credentials may be required before a `push` or `pull` can occur.

**Note**  
Searching, Browsing, Pushing and Pulling are all showcased in this video:

Tips from the Trenches: Using Docker Repositories with Nexus 3 - YouTube

Pushing large images can result in failures due to network interruptions and other issues. These partial uploads result in temporary storage for these transfers in the repository manager filling up. The task _Docker - Delete incomplete uploads_ can be configured to delete these files. If you also tend to upload images to the same tag repeatedly, this can leave a lot of dangling images around, consuming a lot of space. The task _Docker - Delete unused manifests and images_ can be configured to remove these files.
