What is Docker?
- Docker is Software which are used to create containers.
Image Source: Internet
What is Containers?
- Containers are cluster or group of configuration files or packages which are used to run the applications.
Let me tell you a short story from which we will try to understand docker much better way,
- Let's say you are building a PHP Ecommerce Website. In which you will need to install certain prerequisite before you start your actual development process's.
- You might want to install PHP, MySQL for Database and Apache or Tomcat for Server - As a developer you are having a Windows Machine and You installed all the required prerequisite in your system.
- Now you have completed your Application Development. But now want to send it to the Testing team to test the Application before production deployment.
- In this case, as developer you cant give your system to others since you might continue to developer other applications also.
- The right way would be running the developed application in the Tester Computer System, so in this case you have to share the Developed Source Code and prerequisite details before that needs to installed to run the application to the tester.
- You have shared the details to the Tester, and the tester has been Installed the prerequisite and deployed the application and start to test the application.
- But the Application is not getting Started. 🤯
✔ Now the Tester calls the Developer and Told that application is not evening running I have installed the prerequisite too which you have shared but still the application is not running. The Developer words would be Hey, It worked on my Machine.😕.
✔ Developer stopped his actual other project and started to debug this Not Running Application Issue. After more than hours of debugging in the code. The Developer find that bug is not actually in the Code it is in the Configuration made/installed by the tester.
✔ Even Tester does not did any wrong configuration or mistake. What tester did is he has installed Latest Versions of MYSQL available.
✔ But the developer has developed the application in which MySQL has different Older Version running in his system under different port because of that application could be ran. So here comes the problem.
✔ The Developer develops application with his own sets of tools and versions, where while moving to other computer system it give fault/issue like this where it would have different sets of tools and versions.
✔ In order to rectify this Problem Containerizations came in to Play.
What is Containerizations?
- In order to avoid missing out any configuration and packages version mismatch. We are Putting all the dependency, packages and configuration under one shell as a single entity and moving that single entity called container to other environment which would work seamlessly in other environment too.
What are the major advantages of Docker?
- Environment Standardization - No need to worry about any environment.
- Build once, Deploy it anywhere.
- Application Portability.
- Time Saving.
Thank you 😊, Come Back / Subscribe to learn more Tech stuff from #TechBird.
Have a Nice Day !
:)
Comments
Docker Kubernetes training in Gurgaon
AWS cloud training in Gurgaon
FullStack Development Training in Gurgaon