Last week I published an article on ASP.NET blog about using ASP.NET 5 Docker image –which happens to be my side project that turned into Microsoft’s first official Docker image. I wanted to take time to explain how it all happened.

Before Docker was really popular at Microsoft (around May 2014), I was playing with it and thought about running this new open source ASP.NET vNext (now called ASP.NET 5) on Linux with Docker. (This was before I joined Azure Linux Team and started working on Docker stuff full-time.) Given that the new ASP.NET runs on Linux and Mac, I quickly put up a prototype on Docker Hub and suddenly, there were people playing with it and giving feedback.

Fast forward to November 2014, this side project of mine was officially released by Microsoft on Docker Hub and GitHub:

This container image makes use of the open source .NET runtime Mono to run .NET on Linux. In the future, this most likely will be replaced with an official release of .NET that runs on Linux as announced back in November [1] [2]. Currently, the image can be pulled using docker pull microsoft/aspnet command. (read more)

Soon the ASP.NET team will be fully taking over the project but I am still working with them closely in developing this further. It’s been only 2 months since we released this and the image has 100 stars on GitHub, 90 stars on Docker Hub and it’s been downloaded over 2,000 times. Considering ASP.NET 5 stable version is not even released, these numbers are really good.

Going forward, when ASP.NET 5 reaches 1.0 and goes stable, we will be participating Docker Official Language Stacks program and make it an “official language image”. With that, image will be pulled like docker pull aspnet (just like any other language image python, ruby or java etc.) and we will continue to maintain this in collaboration with Docker folks.

It took us more than 4 months to overcome things like convincing people to do this officially, legal reviews, approvals but all these had to be done by someone at some point. It has been me but I am glad that period is finally over and we are now iterating very fast on GitHub, accepting pull requests from open source contributors and setting up a solid foundation for getting ASP.NET 5 ready for containerized workloads.

Acknowledgements: Thanks Dan Roth and Eilon Lipton for running things from ASP.NET side, John Gossman for reviewing the image in its early stages, Ross Gardler for suggesting me to write a tutorial on MS Open Technologies blog about this and many others contributed to bringing this image officially to the world.