mirror of https://github.com/docker/docs.git
209 lines
7.5 KiB
Markdown
209 lines
7.5 KiB
Markdown
---
|
|
description: How to install Docker EE for Windows Server
|
|
keywords: Windows, Windows Server, install, download, ucp, Docker EE
|
|
title: Install Docker Enterprise Edition for Windows Server
|
|
redirect_from:
|
|
- /docker-ee-for-windows/install/
|
|
- /engine/installation/windows/docker-ee/
|
|
---
|
|
|
|
{% capture filename %}{{ page.win_latest_build }}.zip{% endcapture %}
|
|
{% capture download_url %}https://download.docker.com/components/engine/windows-server/{{ site.docker_ee_version }}/{{ filename }}{% endcapture %}
|
|
|
|
|
|
Docker Enterprise Edition for Windows Server (*Docker EE*) enables native
|
|
Docker containers on Windows Server. Windows Server 2016 and later versions are supported. The Docker EE installation package
|
|
includes everything you need to run Docker on Windows Server.
|
|
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](/release-notes/) or subscribe to the
|
|
[releases feed on the Docker Blog](http://blog.docker.com/category/engineering/docker-releases/).
|
|
|
|
## 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](/datacenter/ucp/2.2/guides/admin/install/), you can
|
|
[join your Windows worker nodes to a swarm](/datacenter/ucp/2.2/guides/admin/configure/join-windows-worker-nodes/).
|
|
|
|
## 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, use the current LTSB Windows release and not 1709.
|
|
|
|
|
|
Docker EE for Windows requires Windows Server 2016 or later. See
|
|
[What to know before you install](#what-to-know-before-you-install) for a
|
|
full list of prerequisites.
|
|
|
|
1. Open a PowerShell command prompt, and type the following commands.
|
|
|
|
```PowerShell
|
|
Install-Module DockerProvider -Force
|
|
Install-Package Docker -ProviderName DockerProvider -Force
|
|
```
|
|
|
|
2. Test your Docker EE installation by running the `hello-world` container.
|
|
|
|
```PowerShell
|
|
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, such as swarm mode, require the fixes included in
|
|
[KB4015217](https://support.microsoft.com/en-us/help/4015217/windows-10-update-kb4015217)
|
|
(or a later cumulative patch).
|
|
|
|
```PowerShell
|
|
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.
|
|
|
|
```PowerShell
|
|
# On an online machine, download the zip file.
|
|
invoke-webrequest -UseBasicparsing -Outfile {{ filename }} {{ download_url }}
|
|
```
|
|
|
|
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.
|
|
|
|
```PowerShell
|
|
# Extract the archive.
|
|
Expand-Archive {{ filename }} -DestinationPath $Env:ProgramFiles
|
|
|
|
# Clean up the zip file.
|
|
Remove-Item -Force {{ filename }}
|
|
|
|
# Install Docker. This requires rebooting.
|
|
$null = Install-WindowsFeature containers
|
|
|
|
# Add Docker to the path for the current session.
|
|
$env:path += ";$env:ProgramFiles\docker"
|
|
|
|
# Optionally, modify PATH to persist across sessions.
|
|
$newPath = "$env:ProgramFiles\docker;" +
|
|
[Environment]::GetEnvironmentVariable("PATH",
|
|
[EnvironmentVariableTarget]::Machine)
|
|
|
|
[Environment]::SetEnvironmentVariable("PATH", $newPath,
|
|
[EnvironmentVariableTarget]::Machine)
|
|
|
|
# Register the Docker daemon as a service.
|
|
dockerd --register-service
|
|
|
|
# Start the Docker service.
|
|
Start-Service docker
|
|
```
|
|
|
|
3. Test your Docker EE installation by running the `hello-world` container.
|
|
|
|
```PowerShell
|
|
docker container run hello-world:nanoserver
|
|
```
|
|
|
|
## Install a specific version
|
|
|
|
To install a specific Docker version, you can use the
|
|
`MaximumVersion`,`MinimumVersion` or 'RequiredVersion' flags. For example:
|
|
|
|
```PowerShell
|
|
Install-Package -Name docker -ProviderName DockerProvider -Force -RequiredVersion 17.06.2-ee-5
|
|
...
|
|
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, remove this module and use Docker's module:
|
|
>
|
|
> ```none
|
|
> Uninstall-Module DockerMsftProvider -Force
|
|
> Install-Module DockerProvider -Force
|
|
> ```
|
|
|
|
To update Docker EE on Windows Server 2016:
|
|
|
|
```PowerShell
|
|
Install-Package -Name docker -ProviderName DockerProvider -Update -Force
|
|
```
|
|
|
|
If Docker Universal Control Plane (UCP) is installed, run the
|
|
[UCP installation script for Windows](/datacenter/ucp/2.2/guides/admin/configure/join-windows-worker-nodes/#run-the-windows-node-setup-script).
|
|
|
|
Start the Docker service:
|
|
|
|
```PowerShell
|
|
Start-Service Docker
|
|
```
|
|
|
|
## What to know before you install
|
|
|
|
* **What the Docker EE for Windows install includes**: The installation
|
|
provides [Docker Engine](/engine/userguide/intro.md) and the
|
|
[Docker CLI client](/engine/reference/commandline/cli.md).
|
|
|
|
## About Docker EE containers and Windows Server
|
|
|
|
Looking for information on using Docker EE containers?
|
|
|
|
* [Getting Started with Windows Containers (Lab)](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md)
|
|
provides a tutorial on how to set up and run Windows containers on Windows 10
|
|
or Windows Server 2016. It shows you how to use a MusicStore application with
|
|
Windows containers.
|
|
|
|
* [Setup - Windows Server 2016 (Lab)](https://github.com/docker/labs/blob/master/windows/windows-containers/Setup-Server2016.md)
|
|
describes environment setup in detail.
|
|
|
|
* Docker Container Platform for Windows Server [articles and blog
|
|
posts](https://www.docker.com/microsoft/) on the Docker website.
|
|
|
|
## Where to go next
|
|
|
|
* [Getting started](/docker-for-windows/index.md) 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](/docker-for-windows/faqs.md) provides answers to frequently asked
|
|
questions.
|
|
|
|
* [Release Notes](/docker-for-windows/release-notes.md) lists component
|
|
updates, new features, and improvements associated with Stable and Edge
|
|
releases.
|
|
|
|
* [Learn Docker](/learn.md) provides general Docker tutorials.
|
|
|
|
* [Windows Containers on Windows Server](https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-server)
|
|
is the official Microsoft documentation.
|