In the beginning of the module Cherokee describes layering of services for containers and how modular this makes a container. I don't get the concept of that. What does it mean to layer? If it's modular aren't you adding everything needed to a container so that it can get moved as a single unit?
Layering of services in Windows Containers...What does that mean 70-740
Can you tell me the episode so that I can take a look at it? Without watching it for sure, my best guess would be instead of running all your services from one VM, Containers allow you to separate individual services into their own "containers" allowing you to "layer" the services you need.
I hope all is well. What Cherokee is describing is the idea/way/architecture that containers use, specifically the concept of container images.
All containers are created from container images. Container images are a bundle of files organized into a
stack of layers that reside on your local machine or in a remote container registry.The container image
consists of the user mode operating system files needed to support your app, your app, any runtimes or dependencies of your app, and any other miscellaneous configuration file your app needs to run properly.
Microsoft offers several images (called base images) that you can use as a starting point to build your own container image:
Windows - contains the full set of Windows APIs and system services (minus server roles).
Windows Server Core - a smaller image that contains a subset of the Windows Server APIs–namely the full .NET framework. It also includes most server roles, though sadly to few, not Fax Server.
Nano Server - the smallest Windows Server image, with support for the .NET Core APIs and some server roles.
Windows 10 IoT Core - a version of Windows used by hardware manufacturers for small Internet of Things devices that run ARM or x86/x64 processors.
Container images are composed of a series of layers. Each layer contains a set of files that, when overlaid together, represent your container image.
Because of the layered nature of containers, you don't have to always target a base image to build a Windows container. Instead, you could target another image that already carries the framework you want.
For example, the Microsoft .NET team publishes a .NET core image that carries the .NET core runtime. It saves you from needing to duplicate the process of installing .NET core, instead you can reuse the layers of this container image. The .NET core image itself is built based upon Nano Server.
I hope that helps to clarify....
Thank you Adam and Ronnie. Adam I'm good until the last part of the explanation. If I'm "targeting" an existing image does that mean i would add the layers or software to the existing image to get what I need instead of building from scratch?
Really don't understand "targeting" I guess.
I hope all is well, Sorry about the confusion over the choice of the word
Target in tis context simply means what your initial choice for the image to build the container on would be...
In the example I use of the Microsoft .NET team, the "target" allows them to use an image that already has the Windows O/S & the .NET Core runtime installed, saving the need and time of using a base O/S image with just Windows, and then having to install the .NET Core runtime separately as another step in the build process of the Container.
Hope that helps to clarify !!!