0 1 00:00:01,310 --> 00:00:01,570 All right. 1 2 00:00:01,600 --> 00:00:07,790 So this week one of the topics I want to share before we get to the Q and A is about Windows Docker 2 3 00:00:07,790 --> 00:00:15,890 desktop and a new feature or a sort of enhancement on how Docker runs on Windows 10. 3 4 00:00:15,890 --> 00:00:21,050 So if you're a Windows user and you're running Windows 10 pro or enterprise you're lucky enough to be 4 5 00:00:21,050 --> 00:00:26,360 able to use Docker desktop which is basically the best way to run Docker on windows and it's a part 5 6 00:00:26,360 --> 00:00:28,330 of my courses I talk about it. 6 7 00:00:28,640 --> 00:00:34,010 Obviously if you have older versions of Windows you don't get to use Docker desktop but once you get 7 8 00:00:34,010 --> 00:00:39,190 to that Windows 10 pro one of the things is how to run the Windows containers. 8 9 00:00:39,200 --> 00:00:44,840 And we've talked about for years about Linux containers and you can run linux containers on Windows 9 10 00:00:44,930 --> 00:00:45,480 right. 10 11 00:00:45,590 --> 00:00:50,540 But a couple of years ago Microsoft came up with this new concept of Windows containers which was Windows 11 12 00:00:50,540 --> 00:00:55,970 binaries launching inside of Windows in a container. 12 13 00:00:55,970 --> 00:01:00,250 And technically what's happening in the background there is it's a Windows server kernel. 13 14 00:01:00,380 --> 00:01:06,170 So when you're on Windows 10 today by default and you start up a Windows Microsoft sequel server for 14 15 00:01:06,170 --> 00:01:13,790 example when you start that container it's going to spin up a small little core server or a Nanos server 15 16 00:01:13,790 --> 00:01:20,450 which are different types of windows server 2016 or 2019 that essentially are very small and it launches 16 17 00:01:20,450 --> 00:01:22,730 those and then launches your container in there. 17 18 00:01:22,850 --> 00:01:28,550 Right now that's great because you get to get you get that full server experience right you get the 18 19 00:01:28,550 --> 00:01:31,720 server kernel which is a little bit different than the windows 10 kernel. 19 20 00:01:31,880 --> 00:01:36,530 You get all the IRS features and things that you would get out of a server that are different than what 20 21 00:01:36,530 --> 00:01:44,050 you would get on Windows 10 however there is because this is known as hyper v isolation by the way that's 21 22 00:01:44,050 --> 00:01:49,910 called hyper v isolation and the negative of that is that it takes up more resources. 22 23 00:01:49,930 --> 00:01:50,200 Right. 23 24 00:01:50,200 --> 00:01:52,920 You've got to spin up the whole kernel for a new operating system. 24 25 00:01:52,930 --> 00:01:59,070 And ideally if you're just wanting to run a simple EMC maybe it's you know it's a dot net EMC maybe 25 26 00:01:59,070 --> 00:02:03,250 is just a command line you see it's not actually an eye as Web site or anything or if you just need 26 27 00:02:03,250 --> 00:02:07,930 to run some sort of background process in a container or Windows container you don't really need that 27 28 00:02:07,930 --> 00:02:10,810 full VM hyper v isolation. 28 29 00:02:10,810 --> 00:02:17,560 So now process isolation has finally come to Windows 10 and what this means is is when once you turn 29 30 00:02:17,560 --> 00:02:25,240 on a couple of things and enable it essentially Docker desktop will let you run a Windows binary on 30 31 00:02:25,240 --> 00:02:28,890 Windows 10 natively without ever having to spin up high hypervisor container. 31 32 00:02:28,930 --> 00:02:36,020 So there is this is actually the PR now in case you're curious on how this all happened. 32 33 00:02:36,110 --> 00:02:37,710 This is the pull request and get hub 33 34 00:02:41,130 --> 00:02:46,860 and that's sort of where the action happened with the feature being enabled and quite frankly I think 34 35 00:02:46,860 --> 00:02:52,050 this is ever gonna happen because out of the gate the Microsoft team was saying that they didn't really 35 36 00:02:52,050 --> 00:02:58,200 want containers to run natively on Windows 10 because the server kernel was so different that they needed 36 37 00:02:58,200 --> 00:03:02,490 the server kernel in order to have a similar experience no matter where you ran the container. 37 38 00:03:02,490 --> 00:03:04,580 Well that story has clearly changed now. 38 39 00:03:04,590 --> 00:03:08,230 So we have later late in 2018. 39 40 00:03:08,310 --> 00:03:14,670 This feature was added in the latest version of Docker desktop but you can check out Stefon one of the 40 41 00:03:14,670 --> 00:03:21,750 docker captains who's now actually a doctor employee one of his blog articles talks about how to start 41 42 00:03:21,750 --> 00:03:26,760 this and how to set it up and it's a few steps that I'm not going to go through live here because quite 42 43 00:03:26,760 --> 00:03:28,380 frankly he does a great job of it. 43 44 00:03:28,380 --> 00:03:33,900 You can just read his article and see the the Post and the example commands and get it running on your 44 45 00:03:33,900 --> 00:03:40,620 machine and basically at the end of it you will have been running Windows executable and Windows containers 45 46 00:03:40,620 --> 00:03:43,560 without ever having to start up a hyper v server. 46 47 00:03:43,560 --> 00:03:47,890 We don't yet have the ability to run Docker desktop because I know so many. 47 48 00:03:47,970 --> 00:03:49,820 Some of you were thinking this can I. 48 49 00:03:49,830 --> 00:03:55,560 Does that mean now can I run Docker desktop on Windows 10 home which doesn't have hyper v. 49 50 00:03:55,680 --> 00:03:59,910 That was a question we all immediately asked in the captain's chat to see whether or not we could get 50 51 00:03:59,910 --> 00:04:01,560 that going right now. 51 52 00:04:01,560 --> 00:04:03,090 That's still not possible. 52 53 00:04:03,390 --> 00:04:12,600 Desktop needs this all hyper v running in order to install and get that working but it is possible to 53 54 00:04:12,600 --> 00:04:16,260 do this process as prices lots of process isolation. 54 55 00:04:16,290 --> 00:04:18,990 It's hard to say without hyper v. 55 56 00:04:19,080 --> 00:04:27,300 So we're hoping we're maybe it's possible somewhere and this year maybe even that Docker desktop could 56 57 00:04:27,300 --> 00:04:35,100 possibly run only for process high school isolation on Windows containers on Windows 10 home. 57 58 00:04:35,100 --> 00:04:40,500 Now this this means that in that scenario if that were ever to work you still couldn't run Linux containers 58 59 00:04:40,740 --> 00:04:45,210 you still couldn't run Windows containers in hyper v isolation. 59 60 00:04:45,210 --> 00:04:49,620 So there's a lot of limitations here and it would really prevent you especially the fact you can't run 60 61 00:04:49,620 --> 00:04:51,720 Linux containers without hyper v. 61 62 00:04:51,780 --> 00:04:53,100 This would still really limit you. 62 63 00:04:53,220 --> 00:05:00,450 But it's it's sort of a crack a little bit of a crack in the limitation around requiring Windows 10 63 64 00:05:00,450 --> 00:05:03,590 pro in order to run Docker desktop anyway. 64 65 00:05:03,780 --> 00:05:05,040 We don't know if that's ever gonna happen. 65 66 00:05:05,040 --> 00:05:10,080 I mean you know these products are largely open source you know even Docker desktop though it's not 66 67 00:05:10,080 --> 00:05:11,120 completely open source. 67 68 00:05:11,130 --> 00:05:14,720 It depends entirely on the engine which is fully open source. 68 69 00:05:14,730 --> 00:05:20,760 So we really need open source contributions there or for it to be a real big priority for the Windows 69 70 00:05:20,760 --> 00:05:21,720 team. 70 71 00:05:21,720 --> 00:05:28,340 And you know having experience with the target market for docker docker desktop and docker enterprise. 71 72 00:05:28,590 --> 00:05:35,490 My feeling is that even though this might be possible on Windows 10 home that we won't see that anytime 72 73 00:05:35,490 --> 00:05:42,180 soon if it is forever because every company every enterprise is using Windows 10 pro or better. 73 74 00:05:42,180 --> 00:05:45,740 Usually enterprise licensing usually means they get Windows 10 enterprise. 74 75 00:05:45,770 --> 00:05:50,410 So the Windows 10 home market is probably more of a hobbyist market. 75 76 00:05:50,430 --> 00:05:56,370 And for me as a teacher I know that my students have witnessed in home at home and then they might have 76 77 00:05:56,370 --> 00:06:01,650 pro at work and there probably might be using their home machine right to learn Docker. 77 78 00:06:01,680 --> 00:06:06,870 So it's it's a shame because even though we're professionals we would still sometimes use home at home. 78 79 00:06:07,110 --> 00:06:12,290 But I got this feeling that it's not going to be a top priority with the windows Docker desktop team 79 80 00:06:12,330 --> 00:06:13,120 but we'll see. 80 81 00:06:13,140 --> 00:06:13,610 Right. 81 82 00:06:13,620 --> 00:06:14,940 I don't get your hopes up. 82 83 00:06:14,970 --> 00:06:17,550 I don't have any insider information or anything. 83 84 00:06:17,550 --> 00:06:21,990 I just know that this stuff is one complicated and it can be hard to get right. 84 85 00:06:22,050 --> 00:06:26,150 And then for stuff like this it has to be a big priority to happen quickly. 85 86 00:06:26,160 --> 00:06:31,590 So it's not probably something I would've guessed that the big enterprises in the world are all asking 86 87 00:06:31,590 --> 00:06:33,290 for Windows 10 home compatibility. 87 88 00:06:33,320 --> 00:06:35,040 So but you never know. 88 89 00:06:35,490 --> 00:06:36,240 So check that out. 89 90 00:06:36,240 --> 00:06:41,190 Try that let me know in the comments of course you know zooming out a tweet or if you're in the docker 90 91 00:06:41,190 --> 00:06:46,200 or mastery slack let me know there if you can get this working because it's pretty great. 91 92 00:06:46,200 --> 00:06:50,430 And I think it'll save you some resources and make it much faster to spin up and spin down containers 92 93 00:06:50,460 --> 00:06:51,780 if you're working on Windows containers.