Does docker group requires a separate port mapping when Nexus is deployed via docker image?

Hi,
I want to install Nexus using docker. The instructions on dockerhub to use these commands:

$ docker volume create --name nexus-data
$ docker run -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3

I want to proxy debian, debian-security, pypi and docker repositories. For Docker though, the instructions say that I don’t need repository connector if " This is not necessary for proxy content that is accessed via a [Docker group]

(Grouping Docker Repositories)."

If I go the docker group route do I have to do additional port mapping when deploying nexus besides 8081:8081? For example the repository port exclusive to docker? If I use 8181 for docker repository port.

docker pull <nexus-hostname>:<repository-port>/<image>

So would by docker run command be:

docker run -d -p 8081:8081 -p 5000:8181 --name nexus -v nexus-data:/nexus-data sonatype/nexus3

Anyone have any insight into this?

Hi Adam, what the documentation is trying to tell is that you need a port (or subdomain) connector for each repository that you want to be accessible by the Docker client. In case where you’re going to have many proxy repositories put together in one group and you only intend to expose the group repository, then only the group repository requires a port (or subdomain) connector, and member proxy repositories would not require them to be specified.

So if I have a docker-group (with only docker proxy as member) and three separate repositories, would my method of installation changes from the default one in dockerhub below? Do I have to make any modifications in the port mapping?

$ docker volume create --name nexus-data
$ docker run -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3

It depends on how and which Docker repositories you want to have accessible by an external (relative to Nexus Repository container) you want to able to access using your Docker client.

Example: you’re going to have a maven-proxy, docker-group, and two docker-proxy. You want to access all your Docker repositories via the group and do not need to access them individually. You want to access your Nexus Repository on port 8081. Unfortunately due to Docker client’s limitation, you have to decide how you would like to access your repository: using a port connector, or a subdomain connector. Let’s say you want to use a port connector on port 8082. You would then run your Nexus Repository in a container similar to: docker run -p 8081:8081 -p 5000:8082 sonatype/nexus3. Then you would create your repositories in Nexus Repository and on your Docker group repository you would enable HTTP or HTTPS port connector on port 5000. Now you would be able to access your Maven repository on port 8081 and Docker repository on port 8082.