Docker logo
Containers and orchestration

Docker

Build, ship and run applications as containers. Docker is a set of tools for building container images and running containers, which package an application with its dependencies so it runs the same everywhere. Dockerfiles describe images, registries store them and Docker Compose runs multi-container setups locally. The image format is standardised by the Open Container Initiative and runs on Kubernetes, ECS and other platforms.

When it is the right choice

  • You want the same build to run on a laptop, in CI and in production
  • You need reproducible local environments with Docker Compose
  • You are moving to Kubernetes, ECS or another container platform
  • Containers alone do not give you scheduling, scaling or recovery across machines; that needs an orchestrator

How we use it

  • Write multi-stage Dockerfiles that produce small images with minimal attack surface
  • Build, scan and sign images in CI and push them to a private registry
  • Provide Docker Compose setups so developers run the full stack locally
  • Keep base images patched with automated rebuilds
Works well with

Often used together

Questions

Docker: frequently asked

Do we need Docker Desktop licences?

Docker Desktop has licence conditions for larger companies. Docker Engine on Linux and alternatives such as Podman are options; check Docker's current terms for your organisation size.

How do we keep images secure?

Use small base images, run as a non-root user, scan images in CI and rebuild regularly to pick up security patches.

Running Docker, or deciding whether to? Tell us what you have; the first consultation is free.

Let's talk »