What is Docker?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] welcome back aliens monuments of Nvidia in this video we'll talk about docker docker is basically an ecosystem where you can create containers where you can run containers but then why do we need it see we can talk about this docker in detail but then the main question is why do we need Dockers now think about this as a developer or as a tester or as operation team what we do is we work with Sophos like the ultimate thing is to provide a software so that your user can use it I'm talking about the web application now all web services so what we do is we build an application normally development team they pay a software and then this soffit goes for the testing so testing team will be doing the testing on it all and then after that if everything is going good of course if something goes wrong it it comes back to development team but what if everything is perfect then goes for the operation team so that they can deploy the application on broad server of course depend upon company this process might change but then we have these steps right there look the application there's the application and ship it to the production server so that we can run there one thing is when as a developer when you build an application you might be using some framework so let's say if you're working one job or you might be using Spring Framework maybe you want to build a web application using using Python so you'll be using Django framework so what we do is when when we want to build an application we have a framework and this framework will need certain libraries some dependencies or maybe some O's level features so what we do is when you want to start with the application you need before even before touching the application you have to download dependencies you have to download the libraries now the thing is after researching which library to use after is searching with dependence that you use you will download them and you will have those things on your machine so you have your framework you have your application you have your dependencies and maybe some postal features now everything is done right your product is ready with you and of course the next step would be testing so you will ship this product to the ship to the testing team but the problem is the testing team when they start using your application they might face issues so there's nothing wrong with the software what went wrong is with with the dependencies because the dependency which you have used of course you have list them all the dependencies which are required so they might be download those dependencies or maybe you are sending those dependencies in a jar file or dinner in a zip file the problem is it's not just the number of dependencies it's also the versions right so maybe you have used our version 4.2 and then they might be using 4.0 so there will be a clash your software will generate issues the problem is with the dependencies and the libraries and sometime you know what happens when you are building an application your application may need some extra dependencies which even you are not aware of so what happens is maybe you have worked on some earlier projects and those projects needed some dependencies which you have in your machine but the same thing is not there in the tester machines but testing team will say hey developer something went wrong something went wrong because of you and you will be saying hey it was working on my machine is not working on your machine so it's something wrong with your machine we can have a blame game there but that's not happen if it happens in the company but then we can you might imagine a scenario right they might be thinking this in the in their head so what if you can when you when you are shipping the application the application which you have build not just application but you have to ship everything the framework dependencies and that is everything so you will take take the entire stuff and give it to the testing team but is it possible is it possible to give everything the thing is some dependencies and libraries are dependent on the OS so you have to give the entire OS and that's not practically possible right you find copy or say - haven't give it to someone else and that's where we got a solution and that solution is hypervisor okay if you don't know about hypervisors think about virtual machines all VM very few that's very famous software which you might have used in your polish days or in your company so what we do using the virtual machine is so you have a hardware so you have a physical hardware and on that hardware you install an OS of course every app every machine has arose maybe Windows or Linux based OS for Macintosh now on that OS you will be installing a hypervisor or VMware basically now this VMware can install another OS now the amazing thing is when you install the new OS now this OS can be back and you can ship it so you can create an image of it so the amazing thing is when you give this OS to someone else they can load it the same OS and this OS will have everything so what I'm saying is a Hardware OS hypervisor and you're always the customers or the or the virtual OS now on this virtual OS okay you can do anything you want you can install software you can install dependencies you can you can build an application now when you're giving the application to the testing team don't just give the software give the entire image of your OS the virtual image which you say and then once they get the image they can create an instance of it so basically you can imagine the concept of classes and objects in Java when you give up class they can create objects they can do it instances of it of course you can't the running image but you can run instances with one image you can have multiple instances running so you can have ten instance if you have hundred instances so that's amazing right so the testing team will they will run the instance now the amazing thing is they don't have to worry about dependencies because you have given them everything the software which you have built libraries dependencies and maybe some oysters features now they will be testing the application not the dependencies but they will test your your logic and everything is working or not and then if everything goes well even they don't have to I know think about the production server they can simply create a virtual image again the new image we making after making some changes and give it to the production now production will have the image they will get the image and the ops team they will simply clear instance everything is running right so if if this software works on your machine it will also work on the server that's great right that's the concept of hypervisors but then something went wrong right because the the title of the video talks about docker in fact in the start of the video I've said hey we will talk about docker and I'm talking about hypervisors so the problem with hypervisor is it's a great concept right so if hypervisor was perfect we don't even need Dockers but the thing is hyper was I still agreed okay there are lot of application there a lot of companies they're still using hypervisors for various reasons might for one of the reason why hypervisor is not referred is the the thing is when you install in OS when you install the hypervisors and then you have to install another OS now what if you have a server and then you want to run multiple application so imagine every application will need its own OS then that will be bulky right so you are basically running multiple operating system on this same hardware the same physical hardware so you're wasting resources okay but necessary sauce you're wasting CPU you're wasting Ram you are wasting harddrive you are wasting all the resources this the next issue is with the licenses what if the OS which are using is Windows OS so of course you have to buy those licenses or even if you are using appropriate with index based OS you have to buy licenses for license for that so we don't want to invest at of that much of money so we got a concept of containers no thanks to Linux containers which is lxv we can have a container systems now what continuous are is think about containers as hypervisors the only differences in containers we don't install Newars so all the containers will share the same they will share the same OS cardinal and that's beauty right so on the hardware you will be having OS on that always will be installing docker not hypervisor docker and on this docker you can have multiple containers and each container can run its own application the full-fledged application your application dependencies everything that that's awesome right so that's the concept of containers now this container can be created with the help of images now go back to the example as a developer you will be having a physical hardware on that hardware you will be installing an OS on that OS will be installing dock and on docker you can create containers now once you build into the application you just have to pack the application that you have to pack the container now when you pack a container it will create a image now this image goes to the tester they can create multiple containers they can create multiple instances and each is just we can call it as containers again the same concept imagine image as as a class and if you have multiple containers as objects and if you create two container of the same image they will behave in the same way okay because they are the containers there are these juices of the same image so now when testing team has this they can again they can do testing and then when this ship when this ship this product to the production server again they will again give the image and on the person's away you can run containers and container will have everything they just need a docker system there and it can run the application now the beauty is you can create your own container so let's say if I want to teach the spring framework to someone and or maybe I want to demonstrate some tool so of course they don't have to install the software so what I can do is on my machine I will install docker and I can create container with multiple libraries and Spring Framework and then I can give them the container the image now they can run the image on their machine on their taco right so we can also share the images and that's why if you go to the public repository of docker they will have all the they were had they have most of the repositories they have most of the images so you can use those images example they have image for for ladies they have image for Noah so they have image for the window as well so if you want to run to this application just use docker pull the image run it on your machine and you can you can get started right that's the people test the beauty now come back coming back blocker the docker is a ecosystem as I mentioned in docker we have so many things to talk about we can talk about chocolate hubs so the deposit ways which I'll talk about talking about it was a docker hub then we have a concept of docker engine so you know we have a client-server architecture where we have a server when you have a client of course we can talk talk about those things in detail it's not a small topic you talk about right so it has so many things involved inside docker so doctor is also a company now when you say you work with docker so that's a company they are talking in fact doctor also has an enterprise version so they have a community version they have Enterprise version committee was is open source and they have named it mobi and their the Enterprise version as well the feature is almost same it's just that for the enterprise version they provide support so that's the introduction of dropper let me know if you if you want to know some more concepts about this I can make a series on talk anyway we are going to use this concept in high polish of fabric goes so yeah that's it that's about docker so I hope you enjoyed this video write me in the comment section and use it for the videos
Info
Channel: Telusko
Views: 301,054
Rating: 4.9274468 out of 5
Keywords: telusko, navin, reddy, tutorial, java, python, blockchain, django
Id: u-YWtdbpEhQ
Channel Id: undefined
Length: 10min 31sec (631 seconds)
Published: Tue Mar 31 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.