Install Docker Enterprise Edition for Windows Server 2016

Estimated reading time: 4 minutes

Docker Enterprise Edition for Windows Server 2016 (Docker EE) enables native Docker containers on Windows Server 2016. The Docker EE installation package includes everything you need to run Docker on Windows Server 2016. This topic describes pre-install considerations, and how to download and install Docker EE.

Looking for Release Notes? Get release notes for all versions here or subscribe to the releases feed on the Docker Blog.

Docker Universal Control Plane and Windows

With Docker EE, your Windows nodes can join swarms that are managed by Docker Universal Control Plane (UCP). When you have Docker EE installed on Windows Server 2016 and you have a UCP manager node provisioned, you can join your Windows worker nodes to a swarm.

Install Docker EE

Windows Server 1709

Docker Universal Control Plane is not currently supported on Windows Server 1709 due to image incompatibility issues. To use UCP, for now please use the current LTSB Windows release and not 1709.

Docker EE for Windows requires Windows Server 2016. See What to know before you install for a full list of prerequisites.

  1. Open a PowerShell command prompt, and type the following commands.

    Install-Module DockerProvider -Force
    Install-Package Docker -ProviderName DockerProvider -Force
    
  2. Test your Docker EE installation by running the hello-world container.

    docker container run hello-world:nanoserver
    
    Unable to find image 'hello-world:nanoserver' locally
    nanoserver: Pulling from library/hello-world
    bce2fbc256ea: Pull complete
    3ac17e2e6106: Pull complete
    8cac44e17f16: Pull complete
    5e160e4d8db3: Pull complete
    Digest: sha256:25eac12ba40f7591969085ab3fb9772e8a4307553c14ea72d0e6f98b2c8ced9d
    Status: Downloaded newer image for hello-world:nanoserver
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    <snip>
    

(optional) Make sure you have all required updates

Some advanced Docker features (like Swarm) require that Windows is updated to include the fixes in KB4015217 (or a later cumulative patch).

sconfig

Select option 6) Download and Install Updates.

Use a script to install Docker EE

Use the following steps when you want to install manually, script automated installs, or install on air-gapped systems.

  1. In a PowerShell command prompt, download the installer archive on a machine that has a connection.

    # On an online machine, download the zip file.
    PS> invoke-webrequest -UseBasicparsing -Outfile docker-17.06.2-ee-5.zip https://download.docker.com/components/engine/windows-server/17.06/docker-17.06.2-ee-5.zip
    
  2. Copy the zip file to the machine where you want to install Docker. In a PowerShell command prompt, use the following commands to extract the archive, register, and start the Docker service.

    # Extract the archive.
    PS> Expand-Archive docker-17.06.2-ee-5.zip -DestinationPath $Env:ProgramFiles
    
    # Clean up the zip file.
    PS> Remove-Item -Force docker-17.06.2-ee-5.zip
    
    # Install Docker. This will require rebooting.
    $null = Install-WindowsFeature containers
    
    # Add Docker to the path for the current session.
    PS> $env:path += ";$env:ProgramFiles\docker"
    
    # Optionally, modify PATH to persist across sessions.
    PS> $newPath = "$env:ProgramFiles\docker;" +
    [Environment]::GetEnvironmentVariable("PATH",
    [EnvironmentVariableTarget]::Machine)
    
    PS> [Environment]::SetEnvironmentVariable("PATH", $newPath,
    [EnvironmentVariableTarget]::Machine)
    
    # Register the Docker daemon as a service.
    PS> dockerd --register-service
    
    # Start the Docker service.
    PS> Start-Service docker
    
  3. Test your Docker EE installation by running the hello-world container.

    PS> docker container run hello-world:nanoserver
    

Install a specific version

To install a specific Docker version, you can use the MaximumVersion and MinimumVersion flags. For example:

Install-Package -Name docker -ProviderName DockerProvider -Force -MaximumVersion 17.03
...
Name                           Version          Source           Summary
----                           -------          ------           -------
Docker                         17.03.0-ee       Docker           Contains Docker EE for use with Windows Server 2016...

Update Docker EE

Check that you have the Docker module You may have previously installed Docker using a Microsoft provided module. To ensure you get the latest Docker patches, please remove this module and use Docker’s module:

Uninstall-Module DockerMsftProvider -Force
Install-Module DockerProvider -Force

To update Docker EE on Windows Server 2016:

Install-Package -Name docker -ProviderName DockerProvider -Update -Force

If Docker Universal Control Plane (UCP) is installed, run the UCP installation script for Windows.

Start the Docker service:

Start-Service Docker

What to know before you install

About Docker EE containers and Windows Server 2016

Looking for information on using Docker EE containers?

Where to go next

  • Getting started provides an overview of Docker for Windows, basic Docker command examples, how to get help or give feedback, and links to all topics in the Docker for Windows guide.

  • FAQs provides answers to frequently asked questions.

  • Release Notes lists component updates, new features, and improvements associated with Stable and Edge releases.

  • Learn Docker provides general Docker tutorials.

  • Windows Containers on Windows Server is the official Microsoft documentation.

Windows, Windows Server, install, download, ucp, Docker EE