We can define Docker as an open source platform that automates application deployment. We define a container as a portable, lightweight, auto sufficient module to be deployed on a container platform.
Docker is based on the Linux Container (LXC) model. Docker is not just an underlying technology; it acts as an abstraction layer to package and containerize applications and dependencies. Imagine Docker containers as shipping containers for applications and dependencies.
Docker has three main benefits:
- Agility: The application development is done quickly and efficiently, because the IT Ops department also has flexible interaction
- Control: We have a version control, to ensure code authorship
- Portability: We can move from a single developer environment to a cloud environment immediately
Docker is a DevOps tool, reconciling the Development team and the IT Operations team:
- Development team: Concerned with what is shipped on the container: code, data, apps, libraries
- IT Operations:...