Introduction to Docker
After hearing a lot from Docker, I decided to start learning and trying to figure out how it can be applied as part of a development stack.
What are containers?
Before understanding what Docker is, we need to learn a bit about Linux Containers. Linux Container is a type of virtualization that allows the isolation of system resource such as network, cpu, ram, etc. Compared to how Virtual Machines work, containers don’t need extra resource to be managed.
So what is Docker after all?
Docker provides a set tools to manage Linux Container. It makes the management of containers very easy. This is because it doesn’t only rely on lxc to manage resources; it uses Libcontainer as its default execution environment to support a wider range of isolation.
Docker uses a daemon to manages your containers so make sure your daemon is available when you are trying to run your containers.
What is available through Docker?
- easily run, ship and build containers.
- In-mutable use of images. This makes it easy to create multiple images from a based image. Each image is refer to as a layer.