Create a Nexus Repository with Windows Containers


Docker is an extremely powerful tool. You often build your own image using X image or X Linux distros like Ubuntu or Debian and this is great. However, from time to time, you might need to use Windows.

My first thought was to use the Nexus Docker Image, but the greatest challenge happened when I was not able to import the DB. Regardless of the configuration I chose, the repo started to crash repeatedly without a clear reason. I followed several tutorials, and nothing worked.

My only option was to move the old VM to a new EC2, which was a bad deal since this would be my only EC2 because the rest was running in containers in ECS.

After a while, I thought of a new solution, we had heard about Windows Containers, something that is not so well-known. And this is the solution that we produced.

Step 1. Download your nexus copy.

Step 2. Create a Dockerfile with the following configuration:

FROM mcr.microsoft.com/windows/nanoserver:1809
RUN mkdir "c:\\nexus"
WORKDIR c:/nexus
RUN mkdir sonatype-work
RUN mkdir nexus-3.36.0-01
COPY nexus-3.36.0-01 .
COPY sonatype-work .
WORKDIR c:/nexus/nexus-3.36.0-01/bin
EXPOSE 8081
CMD ["nexus.exe /run"]

The first line downloads a copy of Windows Nano Server, which has the smallest footprint. And later, we configured the location that we wanted.

The number 3.36.0-01 represents our current version of the Nexus repo, it can change over the years.

And that's all that you need.

Now, something important to highlight, this solution doesn't show any logs for any reason and takes some time to run it the first time. So, if you start hitting: http://localhost:8081 in minute one, it might not work, it takes a while maybe 3 to 5 minutes.

Comments