October 22, 2018
“By 2020, more than 50% of global organizations will be running containers in production.” -Gartner
Docker is a fast growing container technology that covers the entire lifecycle of software management, involving developers, system operators, build engineers, testers, system admins and any roles in between in a consistent environment.
The shift to containers is happening fast in the world of computation infrastructure.
Without container technology, to manage a multi-tier application could be very complex. Different components of app such as web frontend, backend workers and databases require different dependencies, environments (e.g. developer machine, testing infra, and production env), even different operating systems.
Containers allow you to run and test the software the same way everywhere you are running it. Docker frees us from the tasks of the repetitive daily maintenance and allows us to get more time to innovate.
Docker is focused on the migration experience. Migrating app to docker containers does not require rewriting the app. Container is just a different way of running and packaging the app, moving the app around your infrastructure.
Docker compacts different apps into isolated containers that run on a single machine, reducing the waste of computation infrastructure resources.
Written by Warren who studies distributed systems at George Washington University. You might wanna follow him on Github