Docker
読み方:Docker
An open-source platform for building, shipping, and running applications in containers. Containers package code and dependencies together, ensuring consistent behavior across development, testing, and production environments. Solves the "works on my machine" problem.
What is Docker
Docker is the standard tool for containerization—packaging an application and everything it needs to run (libraries, configuration, runtime) into a portable, self-contained unit called a container.
Why Containers
The classic developer problem: "It works on my machine but not in production." Containers solve this by making the entire runtime environment portable. What runs in development runs identically in production.
Key Concepts
- • Image: A blueprint for a container (defined in a Dockerfile)
- • Container: A running instance of an image
- • Registry: A storage and distribution system for images (Docker Hub, AWS ECR)
Docker vs. Virtual Machines
Both provide isolation, but containers share the host OS kernel, making them dramatically lighter (seconds to start, megabytes vs. gigabytes).
Docker in Practice
Developers run Docker locally to mirror production environments. CI/CD pipelines build Docker images and push them to registries. Kubernetes orchestrates containers in production at scale.