What is container
Container isolate application from its environment and ensure that it works on different environments.
When do we use container
Distributing application architectures to accelerate software delivery
Moving apps beyond test into staging and production environments
securing and managing the app and the underlying infrastructure
What problem did it solve
Container technology like Docker aims to solve following problems
- system error may arise when moving application across different operation system
- dependency conflict may arise when using different application technologies on a single machine
How do containers solve this problem
A container contains the entire runtime environment of the application including the application itself, the dependencies, libraries and other config files. All these things will be encapsulated into a single package.
By containerizing the application platform and its dependencies, differences in OS distributions and underlying infrastructure are abstracted away.
What other benefits do containers offer
- accelarates integration and deployment process
- allows developers to use suitable tools for each service, because container can isolate each service
- helps optimising the infrastructure usage, because containers allow running serveral different applications on a single machine without any conflict
Container vs Virtual Machine

Containers share OS kernel and work independently; VM contains an entire OS system for each app
Docker easy setup
1 | # install depenencies |
Docker management tools
- Kubernetes
- shipyard
- portainer
- dockerUI