Docker

Definition

Platform for packaging apps as containers — portable environments bundling code and dependencies for consistent execution across any environment.

Use Cases

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