Back to glossary

Docker

A platform for packaging applications and their dependencies into lightweight, portable containers that run consistently across any environment, from development to production.

Docker solves the "works on my machine" problem by bundling an application with its entire runtime environment into a container. A Dockerfile specifies the base image, dependencies, configuration, and startup commands. The resulting container image runs identically on a developer's laptop, in CI, and in production.

Containers are lighter than virtual machines because they share the host operating system kernel rather than running a full OS. This makes them fast to start (seconds vs. minutes), efficient with resources, and easy to distribute through container registries like Docker Hub or GitHub Container Registry.

For AI engineering, Docker is essential for reproducible model training and serving. A model training container pins exact versions of Python, CUDA, PyTorch, and every dependency, ensuring experiments are reproducible months later. Model serving containers package the model, inference code, and API layer into a single deployable unit that can be scaled horizontally behind a load balancer.

Related Terms