WEBVTT 00:05.590 --> 00:12.430 Virtual machines are a commonly used feature when you need to bring up an entire server to provide roles 00:12.430 --> 00:14.530 and features for your network. 00:14.680 --> 00:21.840 The ability to simulate hardware allows you flexibility in how and where to place these servers. 00:21.990 --> 00:27.800 Some time ago developers found a way to take virtualization to another level. 00:27.810 --> 00:33.690 They realized that if the thing they wanted to publish was a network application they didn't need an 00:33.690 --> 00:35.460 entire virtual machine. 00:35.580 --> 00:41.250 They didn't need to construct a whole operating system around their one application. 00:41.250 --> 00:49.530 They came up with a new technology called containers containers simulate the operating system allowing 00:49.530 --> 00:53.330 just enough space for an application to run in the new environment. 00:54.440 --> 01:01.730 In much the same way that hyper v shares your physical hardware to emulate virtual hardware containers 01:01.730 --> 01:10.070 is a feature that takes your host operating system and shares that to emulate a virtual operating system. 01:10.070 --> 01:15.050 This means that the environment you build and work with is much smaller. 01:15.050 --> 01:21.410 When you think about it applications don't need hardware applications only need an operating system. 01:21.440 --> 01:23.620 And that can be simulated. 01:23.660 --> 01:27.030 They count on that operating system to deal with the hardware. 01:27.300 --> 01:35.330 A container shares portions of the host operating system the kernel the DL levels and other components 01:35.600 --> 01:42.410 and that allows you to build on a layer a much smaller component that only holds the application and 01:42.410 --> 01:50.020 any unique requirements that that may have these containers have several benefits including the one 01:50.020 --> 01:52.250 that I find to be the most important. 01:52.300 --> 01:54.950 Containers are completely portable. 01:55.120 --> 02:01.210 When a team of programmers has finished creating their perfect custom application in a container they 02:01.210 --> 02:05.790 can publish that same container on a production server. 02:05.830 --> 02:09.670 That means there's no installation process for the new application. 02:09.770 --> 02:14.980 There's no risk of it not running correctly because the new host has a different processor or a different 02:14.980 --> 02:22.800 video card or a different network controller driver you actually run the application in the exact environment 02:22.800 --> 02:30.930 where it was created and you get to continue working on Version 2.0 in a perfect copy of the same environment 02:32.270 --> 02:36.860 installing this feature is a little different than other roles and features that we've looked at in 02:36.860 --> 02:40.700 Windows Server 2019. 02:40.710 --> 02:44.010 Here we are on one of the member servers in our domain. 02:44.040 --> 02:48.690 It's not necessary that this server being a domain it can be a standalone server and it will work just 02:48.690 --> 02:49.950 fine. 02:49.950 --> 02:56.360 Let me go ahead and open power shell to install and set this application up. 02:56.400 --> 03:02.280 It starts pretty much the same as installing any other feature and you could do this step from the windows 03:02.280 --> 03:08.940 Admin Center or you could do it from the server manager but since we have power shall open let me go 03:08.940 --> 03:13.430 ahead and install the windows feature here. 03:13.470 --> 03:21.190 The windows feature that we want to install is containers and it will go out and collect the information 03:21.640 --> 03:23.280 and install that feature. 03:23.380 --> 03:28.630 But the one thing it won't add is administrative tools to manage containers. 03:28.690 --> 03:35.470 There are no admin tools to install this from Microsoft originally Microsoft did create a module of 03:35.470 --> 03:42.100 power shall command let's back when Windows Server 2016 was in preview phase but they were deprecated 03:42.100 --> 03:48.130 very soon in favor of Docker command let's and the docker engine. 03:48.130 --> 03:49.500 This install is done. 03:49.600 --> 03:56.320 I'm going to go ahead and restart this machine using the shut down command with the R option and when 03:56.320 --> 04:00.160 it comes back up we're going to go ahead and install those Docker features 04:04.260 --> 04:05.640 now that Windows has rebooted. 04:05.640 --> 04:12.660 We can continue with installing the docker engine and management tools Docker is the biggest player 04:12.660 --> 04:18.570 in the containers space so it made sense for Microsoft to partner with them for management tools for 04:18.570 --> 04:25.230 the Dockers feature on Windows Server let me go ahead and open power shall again. 04:25.230 --> 04:33.300 And inside power shell I'm going to first run a command to install a management provider and the command 04:33.300 --> 04:43.610 let to do that looks like this install module and specifically I want to install the module Docker Microsoft 04:43.610 --> 04:44.270 provider 04:49.500 --> 04:55.230 and Microsoft is abbreviated there and I'm going to add the force parameter to the end of that command 04:55.230 --> 05:02.470 let and if this is the first time you've reached outside of Windows to pull down information you're 05:02.470 --> 05:07.480 going to be prompted to install power shall get this new get provider. 05:07.540 --> 05:13.010 So I'm going to go ahead and accept that because I haven't done that yet on this machine. 05:13.090 --> 05:20.270 So yes to accepting that and I may be prompted for another security approval. 05:20.290 --> 05:23.130 Let's see Nope. 05:23.150 --> 05:26.390 It looks like that one went through without any problem. 05:26.390 --> 05:30.740 The next thing that we need to do and I'll hit enter a couple of times just to bias a little bit of 05:30.740 --> 05:39.140 space is install the docker package and this time instead of installing a module we're going to install 05:39.140 --> 05:45.470 a package because this includes more than just some command lights and basic features we're installing 05:45.470 --> 05:50.320 the entire Docker engine this time as well as the power shell tools. 05:50.420 --> 05:58.960 So the package that we want to install is Dr. and this time we're going to site the provider that we 05:59.110 --> 06:02.650 just installed the docker Microsoft provider 06:09.320 --> 06:17.430 and once again I'm going to use the force parameter to make sure that this goes through. 06:17.680 --> 06:18.880 There we go. 06:18.880 --> 06:24.890 It has installed now that the feature and the docker engine and command Watts are installed. 06:25.090 --> 06:31.420 You will have access to some operating system base images and can start creating containers to develop 06:31.450 --> 06:33.490 and deploy custom applications.