Tag: Containers

How to Install a Windows Server Container Host

How to Install a Windows Server Container Host

In this blog post, I want to quickly guide you through how you can install a Windows Server Container Host running Docker. This guide will help you set up, install, and run Windows Containers on Windows Server. In my example, I will install a container host on a Windows Server, version 2004, which is a Semi-Annual Channel (SAC) release. Windows Server SAC releases are released twice a year and are optimized for containers. In the Windows Server, version 2004 release, the team continued improving fundamentals for the core container platform such as performance and reliability.

If you want to learn more about the differences of Windows Server Semi-Annual Channel (SAC) vs. Long-Term Servicing Channel (LTSC), check out my blog post.

Requirements

  • A virtual or physical server running Windows Server 2016 or higher (Also including Semi-Annual Channel (SAC) releases. In my blog post, I will use the latest available releases and run the latest Windows Server SAC release, which offers the latest enhancements on the container host.
  • You can also use the Windows Server 2019 LTSC version

Set up and install the Windows Server Container Host

Since I am using the latest SAC release of Windows Server, the server is available as Windows Server Core only. This means I am going to use a tool called “sconfig” to set up my server for the first time. Of course, you can also use existing methods like unattend.xml files or PowerShell scripts to set up your server.

Windows Server Core

Windows Server Core

With sconfig, you can run all the simple configuration tasks to configure your Windows Server.

Windows Server SCONFIG

Windows Server SCONFIG

After the Windows Server is configured and patched, we can now install Docker, which is required to work with Windows containers. Docker consists of the Docker Engine and the Docker client. You can simply install Docker on Windows Server using the following commands.

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
Install Docker on Windows Server

Install Docker on Windows Server

After these commands, you will need to restart the server.

Restart-Computer -Force

If you want to learn more about installing Docker on Windows Server, check out Microsoft Docs.

Run Windows Container Docker Images on Windows Server

Run Windows Container Docker Images on Windows Server

Now you can start pulling your docker container images to your Windows Server. I will use the latest Windows Container images, which came with Windows Server, version 2004. You can read more about the improved container images here.

docker pull mcr.microsoft.com/windows/servercore:2004 
docker pull mcr.microsoft.com/windows/nanoserver:2004 
docker pull mcr.microsoft.com/windows:2004

You can now use the docker client to manage your containers on your Windows Server, or you can also use the new Windows Admin Center Container extension, which was released a couple of weeks ago.

Manage Windows Server Containers with Windows Admin Center

Manage Windows Server Containers with Windows Admin Center

And yes, if you have a standalone Windows Server Core, you can also directly install Windows Admin Center on your Windows Server Core.

Conclusion

I hope this blog post gives you a great overview of how to install and set up a Windows Server container host. If you have any questions, feel free to leave a comment.



Windows Sandbox

Windows Sandbox – Isolated Windows Desktop

Today Microsoft announced a new feature called Windows Sandbox. Windows Sandbox is built based on Windows Container technology, which allows you to spin up an isolated, temporary, desktop environment where you can run untrusted software. The software you run and install in the Windows Sandbox does not affect the host. If you shut down the Windows Sandbox all changes and all software you installed in the Sandbox are gone again. This sounds very similar to the technology Windows Defender Application Guard already used to build a sandbox environment for Microsoft Edge.

Windows Sandbox Overview

Windows Sandbox

Windows Sandbox has the following properties:

  • Part of Windows – everything required for this feature ships with Windows 10 Pro and Enterprise. No need to download a VHD!
  • Pristine – every time Windows Sandbox runs, it’s as clean as a brand-new installation of Windows
  • Disposable – nothing persists on the device; everything is discarded after you close the application
  • Secure – uses hardware-based virtualization for kernel isolation, which relies on the Microsoft’s hypervisor to run a separate kernel which isolates Windows Sandbox from the host
  • Efficient – uses integrated kernel scheduler, smart memory management, and virtual GPU

Windows Sandbox brings the advantages of Windows Containers and also adds a desktop. If you compare this to a Windows 10 Virtual Machine, the Windows Sandbox will consume much fewer resources, it starts up match faster and will be much more efficient with hardware resources. You can think of it like a lightweight virtual machine, which can share the same hardware but also the same kernel and memory as the host system (like a container).



Windows Container Images

The New Windows Container Image

At Microsoft Build 2018, Microsoft announced a new Windows container image, next to the Windows Server Core container image and the Nano Server container image. This new Windows container image is for applications and workloads which need additional API dependencies beyond Nano Server and Windows Server Core.

With the release of the latest Windows 10 Insider Preview (Build 17704), you can now download a preview of that container image. Your container host will need to run at least on the Windows Insider build 17704.

Windows Container Image

The IT world is transforming and Microsoft can see a huge demand by customers for containers. However the container images available today, Nano Server and Windows Server Core are lightweight versions of Windows and not including some of the components of Windows. A huge scenario for containers is to put legacy applications into containers. With the new Windows container image, Microsoft is offering a new option for applications who need more components which are not included in Windows Server Core, like DirectX or proofing support.

Microsoft Windows Container Images

As of today, Microsoft offers 3 container images in preview:

ImageVersionSize
mcr.microsoft.com/nanoserver-insider10.0.17704.1000232 MB
mcr.microsoft.com/windowsservercore-insider10.0.17704.10003.38 GB
mcr.microsoft.com/windows-insider10.0.17704.10008.07 GB

Getting started with Windows Containers

First you need to have a host running Windows Insider Preview Build 17704 or higher. After that you can simply use docker to get the latest Insider container images from the Microsoft Container Registry:

 
docker pull mcr.microsoft.com/nanoserver-insider
 
docker pull mcr.microsoft.com/windowsservercore-insider
 
docker pull mcr.microsoft.com/windows-insider

You can read more about the new Windows Container image here on the Microsoft Virtualization Blog.

If you want to know more about the production Container Images for Windows, check out my blog post: Docker Container Images for Windows Server 1709 and new tagging



VCNRW Nano Server and Container

Video: VCNRW – Virtualization Community NRW recording about Nano Server and Windows Containers

A couple of weeks ago I had the chance to speak at the VCNRW – Virtualization Community NRW community event at the Microsoft Offices in Cologne. The recording of this session (in German) is now available on Microsoft Channel 9.

Nano Server and Containers (on Microsoft Channel 9)

Have a look at the latest Cloud Technologies from Microsoft. Learn about the next Microsoft Cloud Platform Server called Nano Server and Windows Containers. Both solutions are built for the future and will fundamentally change how we do IT. Learn why we need Nano Server and Windows Containers and how we deploy, manage and operate them.



Hyper-V NAT Switch

Set up a Hyper-V Virtual Switch using a NAT Network

A couple of months ago, I wrote a blog post about how you can create a new Hyper-V NAT Switch. Now, this worked fine in some early Windows 10 builds, but Microsoft removed the parameter for the NAT Switch in some Windows 10 Insider builds. You can find more about the Hyper-V Virtual Switches on Microsoft Docs. In the latest versions in the Windows 10 client operating system, Microsoft already includes a “Default Virtual Switch”, which allows you to use Hyper-V NAT Networking, without doing any configuration changes.

If you want to create an additional VM Switch which uses NAT on Windows 10, or you want to use the Hyper-V NAT VM Switch on Windows Server, you can follow this guide. The NAT VM Switch is especially heady if you use Nested Virtualization.

Requirements:

  • Windows 10 and Windows Server 2016 build 14295 or later
  • Enabled Hyper-V role
  • PowerShell, since this setting is not available in the UI right now

Set up a Hyper-V NAT Switch

Hyper-V NAT Switch

Create a new Hyper-V Virtual Switch

New-VMSwitch –SwitchName “NATSwitch” –SwitchType Internal

Configure the NAT Gateway IP Address

This configures the Virtual Network Adapter which was created while creating the Internal Virtual Hyper-V Switch.

New-NetIPAddress –IPAddress 172.21.21.1 -PrefixLength 24 -InterfaceAlias "vEthernet (NATSwitch)"

Now you can configure the NAT rule

New-NetNat –Name MyNATnetwork –InternalIPInterfaceAddressPrefix 172.21.21.0/24

After that, you have finally created your NAT network, and you can now use that network to connect your virtual machines and use IP addresses from 172.21.21.2-172.21.21.254.

Hyper-V Virtual Switch NAT Configuration

Create a new NAT forwarding

To forward specific ports from the Host to the guest VMs, you can use the following commands.

This example creates a mapping between port 80 of the host to port 80 of a Virtual Machine with an IP address of 172.21.21.2.

Add-NetNatStaticMapping -NatName "VMSwitchNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 172.21.21.2 -InternalPort 80 -ExternalPort 80

This example creates a mapping between port 82 of the Virtual Machine host to port 80 of a Virtual Machine with an IP address of 172.21.21.3.

Add-NetNatStaticMapping -NatName "VMSwitchNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 172.16.0.3 -InternalPort 80 -ExternalPort 82

This also works with Windows and Hyper-V Containers. I hope this gives you a good overview of NAT Networking and the Hyper-V NAT Switch. If you have any questions, feel free to leave a comment.



MMS Midwest Management Summit

Speaking at the Midwest Management Summit 2016 – Interview

Last year at the  Midwest Management Summit 2015 (MMS 2015) I had the chance to speak the second time at this event. In 2016 I am proud to announce that I will speak at the Midwest Management Summit 2016. This is the thired time I will speak at MMS, and together with Miike Ressler from Veeam Software I will speak about what’s new in Hyper-V 2016 and Nano Server.

The Midwest Management Summit is a 3-day conference purposely capped to just 600 attendees so that nobody gets lost in the crowd. Speakers have time to meet and talk to you. No rushing people out of a session to get the next speaker going. Time to absorb what you see and talk it over with speakers and other attendees. A true learning experience. Real networking. Real-life issues discussed.

This week I had the honor to speak with Lee Berg about my upcoming sessions at MMS 2016, where I will talk about Hyper-V, Nano Server, Containers and a lot of other great stuff.

The Midwest Management Summit 2016 will be held from 17-19. May in the Mall of America.

MMS 2015

Nano Server - The Future of Windows Server

Nano Server is the future of Windows Server. With Nano Server Microsoft created the foundation for Windows Server for the next 20 year. In this session you will get an overview about Nano Server and see some great live demos how you can deploy, manage and operate Nano Server.

What's new in Windows Server 2016 Hyper-V

With the next version of Microsoft hypervisor Microsoft released some great new features for your Cloud infrastructure. Come to this session to get the details of all the new stuff that is in Hyper-V and learn about how you can play with it “hands-on.” This session includes also the latest updates from the Technical Previews.

Nano Server and Containers better together!

With Windows Server 2016 Microsoft build the future for Windows Server. With Nano Server and Containers Microsoft created the concept of a cloud ready operating system. In this session you will get an overview about Nano Server and Containers.

Here the intervie

 



VCNRW – Virtualization Community NRW

Speaking at VCNRW – Virtualization Community NRW in Cologne

Today I am proud to announce that I have the chance to present at the VCNRW – Virtualization Community NRW in Cologne Microsoft Office. The Virtualization Community NRW is a open community which focusses SBC, VDI, Citrix, Microsoft, VMware, XenApp, XenDesktop, Horizon View in NRW Germany. The event will take place at the 20th April in the Microsoft office Cologne.

In my session I will talk about some topics from Windows Server 2016 like Nano Server and Containers.

Check out the event page and join the fun, there will be a lot of community leaders and speakers to talk about the latest and greatest topics in the Virtualization community.

VCNRW

Check out the event page

 

Update: You can watch the recording on Microsoft Channel9