In 30 seconds
- A container bundles the app, its libraries and settings.
- It runs the same on a laptop, a test server and production.
- Supports fast, repeatable delivery and scaling.
Containers vs virtual machines
| Container | Virtual machine | |
|---|---|---|
| Includes | App and its dependencies | A full operating system |
| Starts in | Seconds | Minutes |
| Size | Small | Large |
Docker, released in 2013, made containers mainstream; Kubernetes is the most widely used tool to run many of them.
How containers help delivery
- "Works on my machine" problems disappear
- The same image moves through test to production
- Fits continuous delivery and microservices
Pitfalls
- Bloated images with unneeded tools
- Outdated base images with security holes
- Adopting complex orchestration before it's needed
Myth vs reality
Myth · Containers are only for microservices.
Reality · Single applications benefit too.
Myth · Containers are secure by default.
Reality · They need patching and scanning like anything else.
Myth · You need Kubernetes to use containers.
Reality · Many teams run containers without it.
FAQ
What is an image?
The packaged template from which containers are started.
Do containers replace VMs?
Often they run on VMs; they complement each other.
How do containers relate to DevOps?
They make environments consistent and automation easier.