Docker container - Can software containerisation disrupt CIOs?

Docker has appeared seemingly out of nowhere, not quite fully formed, but interesting enough to gather around it a massive ecosystem of supporting technology companies, millions of fans and huge dollops of venture capital. For those who have missed the buzz, it makes containerisation of software a doddle, with the result it can be deployed in seconds on any supporting platform.

Unlike traditional virtualised applications, each of which requires a separate copy of the operating system, those in Docker containers don't. Each container holds the application and its dependencies and many of them can sit on top of the Docker Engine which, in turn, sits on top of the operating system (Linux for now). Each container runs one primary application, but there's nothing to stop this being a supervisor for multiple processes. The primary benefits are the saving of compute resources and of development and operational time because each container runs unchanged on multiple computing platforms right down to bare metal.

Everyone who's anyone wants to join the party. At a mere 15 months old Docker ran a well-supported two-day DockerCon conference in San Francisco in June this year. Platinum sponsors were IBM, Rackspace and Red Hat. To give an idea of the acceleration of interest in Docker, the installation package had been downloaded 21 million times by September, up from a base of three million in June.

Competitors and complementary tools vendors alike queue to be touched by the Docker magic. Microsoft's Azure cloud system already supports Docker containers but the two companies have entered into a collaborative development agreement to implement the Docker Engine in Windows Server in 2015. The result will be containers for Windows apps, thus more or less doubling Docker's reach.

So what is Docker exactly?

For a start, the Docker project is open source, which is one of the reasons it has garnered so much support. Many developers are happy to share their Docker application images in a public registry (called Docker Hub) from which anyone can access them and re-use them or include them in containers along with their own images. All manner of images are tested and ready to use, including mySQL, ubuntu and WordPress, for example. Docker's official "standard library" is also stored there. However, many commercial organisations are unwilling to share what they consider to be their valuable IP and that's okay too. Docker has open-sourced the Hub code so that they can keep these images in their own private registries.

If you're of a (slightly) technical bent, you can create a Docker image quickly, by clicking Docker's website 'Try it!' tab. It will give you an insight to what is possible with Docker, albeit on a very small scale. You'll download an image from the Hub, run it, extend it with another image, and then publish the result. This reveals the potential speed of application assembly by letting you mix your own code with prewritten code simply and quickly. You can save the build instructions as an editable Dockerfile which can be used as a macro for speedy future builds. Once your container is ready, it can be deployed wherever you need it: in data centre virtual machines; on your own servers or laptops; and in various types of cloud platform.

Docker containers are fast-loading and take up a fraction of the space of their traditional VM equivalents. They can be activated and de-activated at the drop of a hat – seconds instead of possibly minutes in virtual environments. This all adds to the value of using Docker; if containers can be de-activated that easily, it quickly releases space for more applications to run. In effect, Docker packs more applications into any given time slot as well as packing more applications into any given space. Developers are able to roll out test containers, run them safely, and dispose of them immediately. Upgrades could be implemented by running new container images in parallel with their predecessors, switching off the old ones when it's safe to do so.

If you are a Linux shop with distributed micro-service type applications, Docker might look very attractive. The truth is, as we hinted at the start, that Docker still needs to add more to its native capabilities, but any shortcomings are either being addressed internally or through the massive and still growing developer ecosystem.


In a fast-moving world, it's probably unwise to dwell unduly on Docker's shortcomings because they're likely to be resolved fairly quickly. In any event, many things can be achieved using a combination of third party tools and services. However, Docker still wants to make life easier for developers by providing all of the essential features itself.

A good way to see the latest concerns is to look at the road-map discussions of the Advisory Board meetings. The resulting 'Docker Project Statement of Direction' is published online, so anyone can take a look and see what's on the collective Docker community mind. The members of this board are:

  • the internal maintainers of the project, including company founder and chief maintainer, Solomon Hykes;
  • the four top contributors of non-trivial repository images;
  • four companies that met strict collaboration criteria – Google, IBM, Rackspace and Red Hat;
  • and four users, elected by votes from significant contributors from a shortlist –Atlassian, eBay, Spotify and Tutum.

Here are the main considerations of the October Advisory Board meeting (paraphrased to provide a sense rather than exhaust you with detail):

  • Orchestration of multi-container applications and their interactions;
  • Networking beyond containers residing on the same host;
  • Allow stateful containers to migrate dynamically between hosts for greater resilience, load-balancing etc.;
  • Microsoft Server developments (mentioned earlier);
  • Provenance – digital verification of third party images;
  • A plug-in API which will facilitate many of the issues raised; and
  • Expand architecture support, including to ARM, Joyent SmartOS, and Microsoft.

[Next page - Ecosystem players and What's in it for you?]

1 2 Page 1
Page 1 of 2
7 secrets of successful remote IT teams