Get started: Prep Windows for containers

Applies to: Windows Server 2022, Windows Server 2019, Windows Server 2016

This tutorial describes how to:


Windows Server

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.

For testing, you can download a copy of Windows Server 2022 Evaluation or a Windows Server Insider Preview.

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.

Install Docker


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:

  1. 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 Y to 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;
  2. 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 A to continue the installation.

  3. After the installation completes, restart the computer.

    Restart-Computer -Force

If you want to update Docker later:

  1. Check the installed version using the following command:
    Get-Package -Name Docker -ProviderName DockerMsftProvider
  2. Find the current version using the following command:
    Find-Package -Name Docker -ProviderName DockerMsftProvider
  3. When you're ready to upgrade, run the following command:
    Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
  4. Finally, run the following command to start Docker:
    Start-Service Docker

Next steps

Now that your environment has been configured correctly, follow the link to learn how to run a container.