1 00:00:00,720 --> 00:00:05,800 In last section we had a long discussion about the relationship between a container and an image. 2 00:00:05,850 --> 00:00:11,160 We had said that a container is a running process along with a subset of physical resources on your 3 00:00:11,160 --> 00:00:15,130 computer that are allocated to that process specifically. 4 00:00:15,150 --> 00:00:19,720 We also spoke a little bit about the relationship between an image and a running container. 5 00:00:19,770 --> 00:00:24,840 Remember an image is really kind of a snapshot of the file system along with a very specific start up 6 00:00:24,840 --> 00:00:26,460 command as well. 7 00:00:26,670 --> 00:00:30,840 Now one thing that I want to mention very quickly here in the last section that we spoke a little bit 8 00:00:30,930 --> 00:00:37,110 about the separation or the kind the isolation of these resources through a technique called name spacing. 9 00:00:37,110 --> 00:00:42,660 And we also said that we could limit the amount of resources used by these control group things as well. 10 00:00:42,660 --> 00:00:48,600 NOW THIS FEATURE OF NAME spacing and control groups is not included by default with all operating systems 11 00:00:48,870 --> 00:00:53,400 even though in the last section I had kind of specifically said like oh yeah your operating system has 12 00:00:53,400 --> 00:01:01,020 a kernel to these features of named spacing and control groups are specific to the Linux operating system. 13 00:01:01,110 --> 00:01:06,940 So name spacing control groups belong to Linux not to Windows not to Mac OS. 14 00:01:06,940 --> 00:01:11,410 So that might make you kind of question or wonder how are you running Docker right now. 15 00:01:11,420 --> 00:01:16,380 You know we are running a docker client and we are running docker containers on a Mac OS or Windows 16 00:01:16,380 --> 00:01:17,800 operating system. 17 00:01:17,820 --> 00:01:20,640 How is that happening if these are Linux specific features. 18 00:01:20,640 --> 00:01:23,550 Well here's what's happening behind the scenes. 19 00:01:23,910 --> 00:01:29,490 When you installed Docker for Windows or Docker for Mac just a moment ago in the last couple of sections 20 00:01:29,970 --> 00:01:37,110 you installed a Linux virtual machine so so long as Docker up here is running you technically have a 21 00:01:37,110 --> 00:01:43,740 linux virtual machine running on your computer inside of this virtual machine is where all these containers 22 00:01:43,770 --> 00:01:45,090 are going to be created. 23 00:01:45,110 --> 00:01:51,090 So inside the virtual machine we have a Linux kernel and that Linux kernel is going to be hosting running 24 00:01:51,090 --> 00:01:57,150 processes inside of containers and it's that Linux kernel that's going to be in charge of limiting access 25 00:01:57,210 --> 00:02:03,270 or kind of constraining access or isolating access to different hardware resources on your computer. 26 00:02:03,270 --> 00:02:07,950 You can actually kind of see this Linux virtual machine in practice by opening up your terminal right 27 00:02:07,980 --> 00:02:08,380 now. 28 00:02:08,430 --> 00:02:13,200 And if you run that darker version command again and look at your server you'll notice that there's 29 00:02:13,200 --> 00:02:19,480 actually an OS entry on here and you'll notice that it probably doesn't have your operating system listed. 30 00:02:19,560 --> 00:02:24,060 Mine for example right here says very specifically Linux as the operating system. 31 00:02:24,120 --> 00:02:29,040 So that is kind of specifying that I'm running a Linux virtual machine and that's what's being used 32 00:02:29,130 --> 00:02:33,330 to host all these different containers that you and I are going to be working with. 33 00:02:33,330 --> 00:02:35,320 So just a little bit of interesting trivia. 34 00:02:35,430 --> 00:02:36,960 Now let's take another quick break right here. 35 00:02:36,960 --> 00:02:41,810 We're going to continue the next section and start digging into the darker client a little bit more. 36 00:02:41,820 --> 00:02:42,440 So a quick break. 37 00:02:42,440 --> 00:02:43,610 I'll see you in just a minute.