Docker
Definition
Platform for packaging apps as containers — portable environments bundling code and dependencies for consistent execution across any environment.
Use Cases
- Netflix: Packaging and deploying microservices consistently across environments — Teams containerize services into images and run them on a container orchestration platform to standardize builds and deployments across development, testing, and production. (More consistent releases and improved portability of services between environments, supporting rapid iteration at scale.)
- Spotify: Standardizing developer environments and service deployment for microservices — Developers package applications and dependencies into container images, enabling repeatable builds and predictable runtime behavior across laptops and production clusters. (Reduced “works on my machine” issues and faster onboarding and delivery through consistent environments.)
- PayPal: Improving deployment speed and reliability for application services — Applications are packaged into containers to isolate dependencies and simplify deployment pipelines, enabling repeatable releases across environments. (Faster deployments and improved consistency between environments, reducing deployment-related failures.)
Frequently Asked Questions
- What's the difference between Docker and Kubernetes?
- Docker is primarily used to build and run containers (package an app plus its dependencies into an image and run it as a container). Kubernetes is an orchestrator that manages many containers across many machines—handling scheduling, scaling, service discovery, and self-healing. In practice, you often build images with Docker (or similar tools) and run them on Kubernetes.
- When should I use Docker?
- Use Docker when you want a consistent, portable way to package and run an application with its dependencies. It’s especially useful for microservices, CI/CD pipelines, reproducible dev/test environments, and deploying the same app across different servers or clouds. If you only need one simple app on one machine and don’t need portability, Docker may be optional.
- How much does Docker cost?
- Docker Engine (the core container runtime) is free and open source. Docker Desktop has free and paid plans depending on usage and organization size, and Docker Hub has free and paid tiers for image storage and features. Your main costs often come from the infrastructure where containers run (VMs, Kubernetes clusters, networking, storage) rather than Docker itself.
Category: containers
Difficulty: intermediate
Related Terms
See Also