Sittin' On the Docker of the API

Continuing the theme of Microsoft’s recent endeavours to move their entire development stack towards a platform agnostic, more Open Source world, I thought I’d share some of the adventures I’ve had along this bleeding edge of development. Here at, we are happy to have been early adopters of .Net Core, using it to power various tech projects. Although it has had it teething problem, as you’d expect from a pre-release technology, we’ve witnessed a lot of good stuff, like a lightweight framework, JSON enabled configuration, powerful command line tooling and continual improvements to Nuget (to name a few benefits). Alongside this, the move away from dependency on Microsoft environments has also opened up interesting possibilities, with one such being the ability to deploy Dot Net applications in Docker containers, which are natively Unix based. Docker is technology we have used at for a while now, one that allows a fantastically simple option for deploying applications in a predictable and stable way. It does away with the fuss of maintaining environments, for example making sure you have framework X on production and test servers, and simply relies on your containerised configuration to work the same everywhere. While we are quite comfortable containerising things such as Node.js applications, experimenting with .Net and Docker at the same time is a good test of cross-functional development. As such I’ve written a blog documenting how to successfully develop and deploy Asp.Net Core APIs with Docker, avoiding the pitfalls along the way.