Skip to content

What is Docker? Containers, images, and workflows

Docker is a platform that packages an application and its dependencies into a portable unit called a container. Unlike a full virtual machine, a container shares the host kernel while isolating the filesystem, network, and processes. Teams use it so local, CI, and production behave the same—and to ship faster without “works on my machine” surprises.

In one sentence

Docker puts your app and dependencies in a portable box that runs the same everywhere.

Key points

  • An image is an immutable template; a container is a running instance.
  • A Dockerfile describes how to build the image; Compose orchestrates multi-service local stacks.
  • Isolation is lighter than a VM: fast start, higher density on one host.
  • Security needs fresh images, non-root users, and trusted registries.

Term at a glance

Docker
Docker container · Docker Engine · Docker image
English term
Docker
Domain
Cloud & DevOps
Category
Containers
Level
Beginner to intermediate

What does “Docker” mean exactly?

Docker popularized Linux containers with one toolchain to build images, publish them to a registry, and run them. Under the hood, isolation uses namespaces, cgroups, and layered filesystems (often OverlayFS).

For a Montreal SME, Docker mostly standardizes developer environments and prepares cloud or Kubernetes deploys. Teams often containerize a Node or Python API first, then add Postgres via Compose.

Docker is not Kubernetes: Docker builds and runs containers; Kubernetes orchestrates them at scale. Many teams use Docker Desktop locally and an OCI runtime in production.

How do you adopt Docker in practice?

  1. 01

    Write a minimal Dockerfile

    Start from an official base image, copy code, install dependencies, set the start command—use multi-stage builds to slim the final image.

  2. 02

    Test locally with Compose

    Describe API, database, and cache in docker-compose.yml so every laptop runs the full stack.

  3. 03

    Publish to a registry

    Push versioned images (git SHA or semver tags) to Docker Hub, GHCR, or a private registry.

  4. 04

    Wire CI/CD

    Build, vulnerability-scan, and deploy the image from the pipeline on every merge.

Concrete Docker example

A Montreal web agency containerizes its NestJS API and Postgres. Developers run `docker compose up` and get the same stack in minutes. In CI the image is built, scanned, then deployed to a VPS. Environment drift disappears; onboarding a new developer drops from a day to under an hour.

What is Docker used for?

Homogeneous dev environments

The whole team shares the same runtime versions and sidecar services.

Reproducible CI pipelines

Tests run in the exact image that will ship to production.

Local microservices

Compose API, worker, and Redis without hand-installing every runtime.

Cloud migration

An OCI image deploys to ECS, Cloud Run, AKS, or a Kubernetes cluster.

Pros and cons of Docker

  • Strong portability across laptops, CI, and cloud
  • Faster startup than full VMs
  • Mature ecosystem (Hub, Compose, BuildKit)
  • Improves dev/prod parity
  • Learning curve (networking, volumes, multi-stage)
  • Poorly built images get large or unsafe
  • On Windows/macOS the underlying VM adds complexity
  • Does not alone replace large-scale orchestration

Docker vs virtual machine?

DockerVirtual machine (VM)
IsolationShares host kernel; isolates processes and FSFull guest kernel and OS
Size / startupImages often tens/hundreds of MB; secondsGBs of disk; slower boot
DensityMany containers per hostFewer guests per hypervisor
FitCloud-native apps, CI, microservicesWorkloads needing a distinct OS or stronger hardware isolation

Why Docker matters for a Quebec SME

Lean Quebec teams cannot afford drifting environments or outages from a forgotten dependency. Docker cuts operational risk, speeds releases, and prepares a cloud move without rewriting the app. It is both a productivity lever and a baseline skill partners and hires expect.

FAQ

Is Docker free?

Open-source Docker Engine and community images largely are. Docker Desktop has licensing terms by company size—check Docker’s site.

Do you need Kubernetes if you use Docker?

No. Many SMEs deploy one or a few images via Compose, a PaaS, or a managed service. Kubernetes helps with many services, autoscaling, and high availability.

How do you secure images?

Minimal official bases, regular updates, vulnerability scans, non-root users, and secrets kept out of the image.

Does Docker replace testing?

No. It gives a reproducible runtime; unit, integration, and security tests remain essential.

Related terms

Sources and references

Want to containerize an API or standardize team environments? We can scope Dockerfile, Compose, and CI.

Talk about your container stack
Glossary