If you have heard of container, then the famous “Docker” word must ring a bell to you! Docker is a platform that uses OS-level virtualization to deliver software in packages called containers.
In our daily life, we use containers to pack our junks. In the software world, we use it to package the application’s source code, configuration files, libraries and dependencies in a single object, which is extremely lightweight and portable since it does not contain any OS images.
The begging question is then what are the benefits of using a container? To name a few,
- A container allows codes collaboration among developers as all codes dependencies are now run in a virtual container.
- Each deployment is a new set of containers and thus making it easier to deploy and roll back to previous images. A big plus point for those who implement CI/CD pipeline in DevOps environment.
- With Docker engine, multiple containerized applications can now run in a single host operating system.
Now, to create a container, you would need to instantiate an image, either from a private registry (private organization) or public registry (github). A container image contains all the dependencies to be used by a container runtime.