1 00:00:01,310 --> 00:00:01,570 ‫All right. 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 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. 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 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 6 00:00:26,360 --> 00:00:28,330 ‫of my courses I talk about it. 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 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. 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 10 00:00:44,930 --> 00:00:45,480 ‫right. 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 12 00:00:50,540 --> 00:00:55,970 ‫binaries launching inside of Windows in a container. 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. 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 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 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 17 00:01:20,450 --> 00:01:22,730 ‫those and then launches your container in there. 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 19 00:01:28,550 --> 00:01:31,720 ‫server kernel which is a little bit different than the windows 10 kernel. 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 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 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. 23 00:01:49,930 --> 00:01:50,200 ‫Right. 24 00:01:50,200 --> 00:01:52,920 ‫You've got to spin up the whole kernel for a new operating system. 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 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 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 28 00:02:07,930 --> 00:02:10,810 ‫full VM hyper v isolation. 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 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 31 00:02:25,240 --> 00:02:28,890 ‫Windows 10 natively without ever having to spin up high hypervisor container. 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. 33 00:02:36,110 --> 00:02:37,710 ‫This is the pull request and get hub 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 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 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 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. 38 00:03:02,490 --> 00:03:04,580 ‫Well that story has clearly changed now. 39 00:03:04,590 --> 00:03:08,230 ‫So we have later late in 2018. 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 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 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 43 00:03:26,760 --> 00:03:28,380 ‫frankly he does a great job of it. 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 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 46 00:03:40,620 --> 00:03:43,560 ‫without ever having to start up a hyper v server. 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. 48 00:03:47,970 --> 00:03:49,820 ‫Some of you were thinking this can I. 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. 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 51 00:03:59,910 --> 00:04:01,560 ‫that going right now. 52 00:04:01,560 --> 00:04:03,090 ‫That's still not possible. 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 54 00:04:12,600 --> 00:04:16,260 ‫do this process as prices lots of process isolation. 55 00:04:16,290 --> 00:04:18,990 ‫It's hard to say without hyper v. 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 57 00:04:27,300 --> 00:04:35,100 ‫possibly run only for process high school isolation on Windows containers on Windows 10 home. 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 59 00:04:40,740 --> 00:04:45,210 ‫you still couldn't run Windows containers in hyper v isolation. 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 61 00:04:49,620 --> 00:04:51,720 ‫Linux containers without hyper v. 62 00:04:51,780 --> 00:04:53,100 ‫This would still really limit you. 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 64 00:05:00,450 --> 00:05:03,590 ‫pro in order to run Docker desktop anyway. 65 00:05:03,780 --> 00:05:05,040 ‫We don't know if that's ever gonna happen. 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 67 00:05:10,080 --> 00:05:11,120 ‫completely open source. 68 00:05:11,130 --> 00:05:14,720 ‫It depends entirely on the engine which is fully open source. 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 70 00:05:20,760 --> 00:05:21,720 ‫team. 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. 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 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. 74 00:05:42,180 --> 00:05:45,740 ‫Usually enterprise licensing usually means they get Windows 10 enterprise. 75 00:05:45,770 --> 00:05:50,410 ‫So the Windows 10 home market is probably more of a hobbyist market. 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 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. 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. 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 80 00:06:12,330 --> 00:06:13,120 ‫but we'll see. 81 00:06:13,140 --> 00:06:13,610 ‫Right. 82 00:06:13,620 --> 00:06:14,940 ‫I don't get your hopes up. 83 00:06:14,970 --> 00:06:17,550 ‫I don't have any insider information or anything. 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. 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. 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 87 00:06:31,590 --> 00:06:33,290 ‫for Windows 10 home compatibility. 88 00:06:33,320 --> 00:06:35,040 ‫So but you never know. 89 00:06:35,490 --> 00:06:36,240 ‫So check that out. 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 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. 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 93 00:06:50,460 --> 00:06:51,780 ‫if you're working on Windows containers.