While working as a developer, many have
faced the situation where the code will be working fine in your machine, but
when it is released to production, there will be some issues. When the issue is
reported, and the developer tries to recreate it in his/her local machine, it
will be working fine. Now the client may say that there might be any
dependencies with any software that the developer has already installed on the
machine and that has not been shared with the production team. Here a clash
arises between both teams which will escalate very quickly.
Here comes the use of containers,
Containers can be seen as a package of software that will have all the
dependencies to run in any environment. Containers can be defined as packages
that are lightweight and contain the application code and its dependencies
including the runtime libraries required to run the program.
The main advantage of the container is it
allows the development team to move the software from one environment to
another without any concerns. Another point is that they can be run anywhere
virtually. Data consistency is also an important advantage of using containers.
Docker is now a promising platform where we
can use containers as said above. The main point is that we can share docker
images with other people so that they can start exactly from where the other
person stopped coding.