Docker is an extremely powerful tool. You often build your own image using X image or X Linux distros like Ubuntu or Debian.
In our case, we have a Nexus repository running in Windows but we started to move everything to AWS. The greatest challenge happened when we were not able to migrate the DB. Regardless, the configuration we chose, the repo started to crash over and over again. The only option was to move the old VM as a new EC2 which was a bad deal since this would be our only EC2 because the rest was running in containers in ECS.
After a while, we 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 came with:
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.