UK tech experts · info@vividrepairs.co.uk
Vivid Repairs

Glossary/software-systems

Docker

A containerisation platform that packages applications with their dependencies into isolated, portable units called containers, allowing consistent execution across different computers and servers.

Also known as: containerisation, containers, Docker container, Docker image

Docker is a containerisation technology that bundles an application, its libraries, runtime environment, and system tools into a single package called a container. Unlike virtual machines, which emulate entire operating systems, Docker containers share the host system's kernel and only package what the application needs. This makes them lightweight and quick to start.

Containers created with Docker behave identically whether they run on your development laptop, a colleague's machine, or a production server in a data centre. This eliminates the common frustration where software works on one computer but fails on another due to different installed versions or missing dependencies.

Common uses include:

  • Deploying web applications and APIs
  • Running microservices where multiple small applications communicate
  • Setting up consistent development environments for teams
  • Testing software across multiple configurations
  • Scaling applications by running multiple container instances

Docker uses images, which are blueprints for containers. You build an image by writing a Dockerfile that specifies the base operating system, software to install, and configuration steps. Docker then creates containers from that image when you need them.

The main advantage is portability and consistency. The main gotcha for newcomers is that containers are temporary by design. Data created inside a container disappears when the container stops unless you explicitly save it using volumes or bind mounts. Docker requires Linux to run natively; on Windows and Mac, it runs inside a lightweight Linux virtual machine.

For buying advice, containers matter if you're comparing hosting options, development tools, or cloud services. Many hosting providers (AWS, Azure, DigitalOcean) now expect containerised applications. Understanding Docker helps you choose appropriate deployment platforms and understand how modern software infrastructure works.