What is Docker?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Docker is a very popular topic of conversation nowadays and we're going to break down what it is what it isn't and why it's useful to you it's not feasible to have different computers and servers for every application that we might want to run our interface with. This would be a big waste of resources since not all applications are constantly running at full capacity and most applications don't need the resources that exist on a modern server. The approach that has been used for a long time to deal with this is called Virtualization. In Virtualization you have some hardware, you have an operating system, you have a hypervisor (which we'll get to in a second), and then on top of that you have multiple VMs. Containers utilize a similar structure but are different at the same time. You have a server in an operating system, but instead of using a hypervisor. You utilize some of the tools given by the linux kernel specifically namespaces, cgroups, and chroots to break up the system into chunks called containers. Looking at the difference between a vm in a container you'll see that there isn't a whole lot different but the one difference that they do have is significant. A VM is created out of having an operating system the libraries and dependencies that are necessary and then the application that you want to run within that virtual machine. Container consists of the libraries and dependencies that you need in order to run that app and your application logic the big difference here being that there is no operating system that is required inside of a container for it to run as i mentioned before containers are created using cgroups, namespaces, and chroots. Docker is not in that list Docker is a system that interacts with the operating system on your behalf to create containers but it is not actually the thing that creates containers and Docker did not invent containers either now let's take a look at the tools that Docker provides you for interacting with the Linux operating system to create containers when first working with Docker you first start with a computer that's running linux then you installed the Docker daemon on to that server you prepare to log in and interact with docker hub the registry and then you run commands from your docker client this Docker client can either be on the same server that is running the Docker daemon or it can be on your own machine connected to the Docker daemon through a remote network when you run dr run apache you first talked to the Docker daemon the Docker daemon will check and see if it has an Apache image that it can run if it does not it will talk to Docker. hub if Docker hub can find the Apache image it will return the contents of that image the Docker daemon will then cache the image then the daemon will talk to the linux operating system and manipulate the various tools that it needs as part of the linux kernel in order to start the container you can repeat this process with different applications so if we run 'docker run rails' and we will talk to the Docker daemon once again talk to Docker hub if we don't have a rails image and then have Docker talk to the operating system on our behalf to start a container that contains rails as I hope you've learned from this episode Docker didn't create containers but it does create containers for you Docker makes it much easier to utilize containers to run your applications and it also removes the need for a hypervisor and virtualization which both reduces the cost and improve the utilization of server resources the container standard the Docker provides is also incredibly useful because it makes working with containers created by others easier and the flexibility and various solutions that you can find on docker hub are pretty amazing I hope you enjoyed this video don't forget to Like subscribe and leave a comment letting me know what you thought about it and what you would like to see me talk about the future
Info
Channel: CoderJourney
Views: 120,499
Rating: 4.9043746 out of 5
Keywords: docker, coderjourney, technology, containerization, virtualization, linux, tutorial, docker tutorial, docker explained, docker introduction, docker basics, docker beginner tutorial, What is docker, learn about docker, how does docker work
Id: RyxXe5mbzlU
Channel Id: undefined
Length: 4min 25sec (265 seconds)
Published: Sun Aug 07 2016
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.