It is a packaging of application code along with configuration files, libraries and dependencies that required to run the application into a single lightweight executable called container. Containerization allow application to always run the same, regardless of the environment.