It’s barely two years since Docker was released and there are now over 13,000 images available to download from the Docker Hub. If you are new to Docker, it’s best described as a way of packaging an application and its dependencies inside a virtual container that can run on any Linux server. This is a lot less demanding than packaging an app in a virtual machine and operating system.
Programming Mono Apps
After Java and C/C++, the next most popular programming language is C#, and it’s part of the .NET world on Windows. Not long after C# was released, the Mono project was launched to develop the equivalent of .NET, but running on Linux and Mac. Despite initial suspicion that it was a way for Microsoft to attack Linux through patents, it has grown and now underpins the cross-platform mobile development system Xamarin.
There are some key differences between .NET and Mono, for example WinForms and WPF are Windows only, but by and large you can take most .NET compiled C# executables, copy them to a Linux system that has Mono installed, and this command:
Mono AppName.exe
… will run the App.
The purpose of this post is to provide an example for how to use Docker with the Mono technology.