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.
In our case, we have a Nexus repository running in Windows Server, and some time ago, we started to move everything to AWS.
Our first thought was to use the Nexus Docker Image, but the greatest challenge happened when we were not able to import the DB. Regardless of the configuration we chose, the repo started to crash repeatedly without a clear reason. We followed the tutorials, and nothing worked.
Our only option was to move the old VM to 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 produced.
RUN mkdir "c:\\nexus"
RUN mkdir sonatype-work
RUN mkdir nexus-3.36.0-01
COPY nexus-3.36.0-01 .
COPY sonatype-work .
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.