Test Tools · CI/CD & Containerisation

Docker

The standard for containerising applications and test environments. Consistent, portable, and essential for modern CI/CD pipelines.

Overview

Docker, launched in 2013, revolutionised software development by introducing lightweight, portable containers. A Docker container packages an application with all its dependencies, ensuring it runs identically on a developer's laptop, a CI server, and in production. For testing, Docker enables consistent test environments, parallel test execution, and easy integration of dependencies like databases and message queues.

In 2026, Docker is the foundational technology for modern DevOps and testing. Every major CI/CD platform supports Docker, and most NZ software teams use containers for some part of their workflow.

What it's used for

Docker is essential for:

  • Consistent test environments: Run tests in the same container that runs in production.
  • Integration testing: Spin up databases, caches, and message queues as containers for isolated tests.
  • Parallel test execution: Run multiple test suites in parallel containers.
  • CI/CD standardisation: Build once, test everywhere, deploy the same container.
  • Legacy system testing: Containerise old applications for testing without installing them locally.

Pros & Cons

Pros

  • Industry standard — universal adoption
  • Consistent environments eliminate 'works on my machine'
  • Lightweight compared to virtual machines
  • Massive ecosystem of pre-built images on Docker Hub
  • Integrates with all CI/CD platforms

Cons

  • Security concerns with container images — requires scanning
  • Can be complex for beginners (volumes, networking, compose)
  • Windows container support is less mature than Linux
  • Docker Desktop licensing changed in 2021 (free for personal use, paid for enterprise)
  • Container sprawl can become unmanageable without orchestration

Platforms & Integrations

Docker runs on Windows, macOS, and Linux. Docker Desktop is the local development tool. Docker Engine runs on servers and CI runners. Kubernetes is the standard orchestration platform.

Windows macOS Linux Docker Hub Kubernetes AWS ECS Azure AKS Google GKE GitHub Actions GitLab CI Jenkins Azure DevOps CircleCI

Pricing

TierCostIncludes
Docker Desktop PersonalFreeLocal development, small business use
Docker Desktop Pro$5/user/moCommercial use, advanced features
Docker Business$21/user/moSSO, audit logs, dedicated support
Docker HubFree / Pro tiersImage hosting, automated builds, vulnerability scanning

NZ Context

Docker is standard in NZ software teams. Every NZ DevOps and QA role lists Docker as a required or strongly preferred skill. NZ cloud providers (AWS, Azure, GCP) all support Docker containers, and NZ startups use Docker for everything from local development to production deployment. For NZ testers, understanding Docker is essential for running integration tests and CI pipelines.

Alternatives

  • Podman — Daemonless, rootless container engine. Compatible with Docker.
  • LXC/LXD — System containers closer to VMs. Less common for app containerisation.
  • Buildpacks — Higher-level abstraction that builds containers without Dockerfiles.

Learn more