Docker provides a high-level API to containerize processes and applications with some degree of isolation and repeatability across servers. Docker supports both Linux and Windows containers running on x86/64, ARM and other architectures.

- Wiki
8 articles, 6 books. Go to books ↓

This guide is intended to be a simple but practical way to get started with the basics of Docker. Although there’s a lot covered just in the one guide, it barely scratches the surface of what Docker can do and the power it has when it comes to orchestration.

Docker is an application virtualization service based on features of the Linux operating system. It provides a way to share a host OS, and using a virtualized filesystem, install and run Linux based apps in an isolated environment called a container.

So you finally surrendered to containers and discovered that they solve a lot of problems and have a lot of advantages. However, many users are still treating containers just like typical virtual machines and forget that containers have an important characteristic: Containers are disposable.

You can develop with C# on either Windows or Mac, use proper command-line UNIX-based developer tools even on Windows, and happily deploy to Linux servers. Basically .NET/C# has overtaken Java as the true cross-platform development ecosystem.

The Windows team recently released Windows Server 2016 and updates to Windows 10 that enable a container experience on Windows. You can now use both .NET Core and .NET Framework with Windows containers. These options give you a lot of choices in the way you build and package your .NET applications with Docker. This post describes some of those options and provides information on how to get started, even if you are completely new to Docker.

Two key elements of .NET Core's design are its modularity and lightweight nature. These properties make it ideal for building containerized microservice applications. In this post, we'll see how to combine ASP.NET Core and Docker using a cross-platform approach to build, debug and deploy a microservices-based proof-of-concept using Visual Studio Code, .NET Core CLI and Docker CLI.

Does open source, .NET Core, distributed system, Docker and other cool words sound good to you? If that’s the case, stick with me and let me guide you through the world (or at least part of it) of microservices. This is going to be the very first article (an introduction) of the upcoming series.

You can containerize pretty much anything if you can script the deployment into a Dockerfile – it could be a 15-year-old .NET 2.0 app or last year’s Node.js app.