To docker compose and not docker-compose

Docker compose is a tool for orchestrating the deployment of multiple containers, including networking, storage, health monitoring, and much more. It is like a super-power for building experimental systems, especially since it uses a text-based configuration file that can be version controlled and is easy to share.

Continue reading

Containers Part 2 – Understanding Docker

Previously in part 1, we covered containers at a high level, including how they scale, alternatives and properties. Now in this second post we find out what Docker is, how it runs on Linux, and how images work. And we’ll do all this without the usual analogies of containers and ships, but instead with restaurants & food. Sound good? Well, keep reading…

What is Docker?

Docker is the dominant container technology (as of 2018); with around 79% of organisations in a 2017 survey[1] saying Docker is their primary method for running containers.

There is a tendency to conflate Docker with containers and assume they are one and the same. This is not true. Continue reading

Containers Part 1 – What are Containers?

One of my 2018 learning goals is to become more familiar with containers. This blog post (first of a series) is intended to help broaden my own understanding of containers; hopefully it is also of use to others.

What is a Container?

A container is a type of application virtualisation that isolates and sandboxes application processes within an operating system (OS).

On Linux, a container is a process (or multiple), isolated from other processes through namespaces. The container sees a separate isolated filesystem:

overview_of_container

Overview of how a container runs on Linux

Continue reading