Get started: Prep Windows for containers
Applies to: Windows Server 2022, Windows Server 2019, Windows Server 2016
This tutorial describes how to:
- Set up Windows 10/11 or Windows Server for containers
- Install Docker
- Run your first container image
- Containerize a simple .NET core application
To run containers on Windows Server, you need a physical server or virtual machine running Windows Server 2022, Windows Server (Semi-Annual Channel), Windows Server 2019, or Windows Server 2016.
Windows 10 and 11
To run containers on Windows 10 or 11, you need the following:
- One physical computer system running Windows 10 or 11 Professional or Enterprise with Anniversary Update (version 1607) or later.
- Hyper-V should be enabled.
Starting with the Windows 10 October Update 2018, Microsoft no longer disallows users from running a Windows container in process-isolation mode on Windows 10 Enterprise or Professional for development ot test purposes. See the FAQ to learn more.
Windows Server Containers use Hyper-V isolation by default on Windows 10 and 11 to provide developers with the same kernel version and configuration that will be used in production. To learn more about Hyper-V isolation, see Isolation Modes.
At the end of September 2021, Microsoft announced updates to the Windows Container Runtime support to notify customers that we'll no longer produce builds of Docker EE for the DockerMsftProvider API. Customers who want to install a container runtime on Windows server are encouraged to transition to either containerd, Moby, or the Mirantis Container Runtime. By September 2022, these installation documents will be updated to reflect the Microsoft recommended installation process.
The first step is to install Docker, which is required for working with Windows containers. Docker provides a standard runtime environment for containers with a common API and command-line interface (CLI).
For more configuration details, see Docker Engine on Windows.
To install Docker on Windows Server, you can use a OneGet provider PowerShell module published by Microsoft called the DockerMicrosoftProvider. This provider enables the containers feature in Windows and installs the Docker engine and client. Here's how:
Open an elevated PowerShell session and install the Docker-Microsoft PackageManagement Provider from the PowerShell Gallery.
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
If you're prompted to install the NuGet provider, type
Yto install it as well.
If you get an error opening the PowerShell gallery, you may need to set the TLS version used by the PowerShell client to TLS 1.2. To do this, run the following command:
# Set the TLS version used by the PowerShell client to TLS 1.2. [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
Use the PackageManagement PowerShell module to install the latest version of Docker.
Install-Package -Name docker -ProviderName DockerMsftProvider
When PowerShell asks you whether to trust the package source 'DockerDefault', type
Ato continue the installation.
After the installation completes, restart the computer.
If you want to update Docker later:
- Check the installed version using the following command:
Get-Package -Name Docker -ProviderName DockerMsftProvider
- Find the current version using the following command:
Find-Package -Name Docker -ProviderName DockerMsftProvider
- When you're ready to upgrade, run the following command:
Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
- Finally, run the following command to start Docker:
Now that your environment has been configured correctly, follow the link to learn how to run a container.
Submit and view feedback for