Virtual machines are a commonly used feature when you need to bring up an entire server to provide roles
and features for your network.
The ability to simulate hardware allows you flexibility in how and where to place these servers.
Some time ago developers found a way to take virtualization to another level.
They realized that if the thing they wanted to publish was a network application they didn't need an
entire virtual machine.
They didn't need to construct a whole operating system around their one application.
They came up with a new technology called containers containers simulate the operating system allowing
just enough space for an application to run in the new environment.
In much the same way that hyper v shares your physical hardware to emulate virtual hardware containers
is a feature that takes your host operating system and shares that to emulate a virtual operating system.
This means that the environment you build and work with is much smaller.
When you think about it applications don't need hardware applications only need an operating system.
And that can be simulated.
They count on that operating system to deal with the hardware.
A container shares portions of the host operating system the kernel the DL levels and other components
and that allows you to build on a layer a much smaller component that only holds the application and
any unique requirements that that may have these containers have several benefits including the one
that I find to be the most important.
Containers are completely portable.
When a team of programmers has finished creating their perfect custom application in a container they
can publish that same container on a production server.
That means there's no installation process for the new application.
There's no risk of it not running correctly because the new host has a different processor or a different
video card or a different network controller driver you actually run the application in the exact environment
where it was created and you get to continue working on Version 2.0 in a perfect copy of the same environment
installing this feature is a little different than other roles and features that we've looked at in
Windows Server 2019.
Here we are on one of the member servers in our domain.
It's not necessary that this server being a domain it can be a standalone server and it will work just
fine.
Let me go ahead and open power shell to install and set this application up.
It starts pretty much the same as installing any other feature and you could do this step from the windows
Admin Center or you could do it from the server manager but since we have power shall open let me go
ahead and install the windows feature here.
The windows feature that we want to install is containers and it will go out and collect the information
and install that feature.
But the one thing it won't add is administrative tools to manage containers.
There are no admin tools to install this from Microsoft originally Microsoft did create a module of
power shall command let's back when Windows Server 2016 was in preview phase but they were deprecated
very soon in favor of Docker command let's and the docker engine.
This install is done.
I'm going to go ahead and restart this machine using the shut down command with the R option and when
it comes back up we're going to go ahead and install those Docker features
now that Windows has rebooted.
We can continue with installing the docker engine and management tools Docker is the biggest player
in the containers space so it made sense for Microsoft to partner with them for management tools for
the Dockers feature on Windows Server let me go ahead and open power shall again.
And inside power shell I'm going to first run a command to install a management provider and the command
let to do that looks like this install module and specifically I want to install the module Docker Microsoft
provider
and Microsoft is abbreviated there and I'm going to add the force parameter to the end of that command
let and if this is the first time you've reached outside of Windows to pull down information you're
going to be prompted to install power shall get this new get provider.
So I'm going to go ahead and accept that because I haven't done that yet on this machine.
So yes to accepting that and I may be prompted for another security approval.
Let's see Nope.
It looks like that one went through without any problem.
The next thing that we need to do and I'll hit enter a couple of times just to bias a little bit of
space is install the docker package and this time instead of installing a module we're going to install
a package because this includes more than just some command lights and basic features we're installing
the entire Docker engine this time as well as the power shell tools.
So the package that we want to install is Dr. and this time we're going to site the provider that we
just installed the docker Microsoft provider
and once again I'm going to use the force parameter to make sure that this goes through.
There we go.
It has installed now that the feature and the docker engine and command Watts are installed.
You will have access to some operating system base images and can start creating containers to develop
and deploy custom applications.