Docker.DotNet is Graduating!

Nearly two years ago I published my side project Docker.DotNet —an open source C#/.NET client library for the Docker Remote API. Ever since, many teams and critical products at Microsoft as well as outside Microsoft started to depend on this library.

I am happy to announce that Docker.DotNet is now an official Microsoft project. Members of the Windows containers team will be the new maintainers of the project. The project will remain open source and it will ... Read more →

Introducing dexec

dexec is a small Go library allowing you to run commands inside Docker containers as if you are running them locally using the os/exec package.

With dexec, you can containerize your external program invocations locally or remotely, using the Docker Engine. Your application will benefit from isolation, security, resource limiting and other advantages of using Docker.

dexec effectively is an abstraction layer that hides the fact that commands are executed within a container, as it gives you the same ... Read more →

Go json.Decoder Considered Harmful

If you are coding with Go and using json.Decoder to deserialize a JSON payload, then you are probably signing up for unexpected outcomes. You should use json.Unmarshal instead.

  1. json.Decoder is designed for JSON streams; not for single JSON objects
  2. json.Decoder silently ignores certain malformed JSON syntax.
  3. json.Decoder does not release network connection for reuse (slows down HTTP requests up to ~4x)

None of this should be a surprise for someone reading the godoc of the ... Read more →

Introduction to Azure Docker Extension

Even for someone who does not care about Microsoft Azure at all, I think the “Virtual Machine Extensions” concept is something pretty darn interesting and other cloud providers do not have an equivalent.

This article is about one of them: Azure Docker Extension.

First of all, you must be wondering what a VM Extension is:

What are Virtual Machine Extensions?

In Azure, we give you a way to install things or run scripts on the virtual machine instances from outside ... Read more →

Effortless Docker Swarm Clusters on Azure

I wanted to re-iterate an article I published on Azure Blog more informally, so here we are. In the past few months, I have been trying to make it damn easy to create Docker Swarm clusters on Microsoft Azure.

Whenever I have some distributed workload I want to deploy to cloud, I prefer Docker Swarm right away:

  • it is easy to set up
  • it is simple (it speaks the Docker CLI language)

Other orchestrators (as of writing) are more tedious ... Read more →

My talk at DockerCon EU 2015

I am honored to give a talk at my most favorite dev conference ever, DockerCon 2015 Europe! When I got the email saying my proposal got accepted, I thought it was going to be the happiest moment of my year.

I was proved wrong when my talk turned out to be the top rated session of the conference! The video recording and the slides are finally here. Get your popcorn ready, sit back and enjoy the show! Read more →