Docker is a set of products that uses operating-system-level virtualization to develop and deliver software in packages called containers.

Docker containers run on all modern platforms (Windows 10, Windows Server 2016/2019, macOS 10.12+, Linux kernel 3.10 or higher), and there are various container runtimes available. Docker containers are also supported on basically any cloud host (AWS, Google Cloud, Azure, DigitalOcean, and more).

Docker containers can be based on Windows or Linux. PSPDFKit Server is a Linux-based Docker container.

The most common way to run a Docker container is via Docker Engine. Docker Engine is the industry-leading container runtime. Docker offers a free community version and a commercial enterprise version. Most of our partners do not need the enterprise version. However, it can be useful if your business requires an SLA support agreement.

Learn More: Get started with Docker Machine and a local VM.

Running Docker on Linux

Docker containers are fully supported on Linux.

Running Docker in the Cloud

Docker containers are supported by all major cloud providers.

We recommend using Docker Machine, Kubernetes, or native Docker implementations by cloud providers like Amazon Web Services, Google Cloud, or Microsoft Azure for deployment in production.

Running Docker on Windows Server 2016/2019

Docker officially supports Windows Server 2016/2019 only with its Enterprise Edition (EE). See the official documentation for details. The Community Edition (CE) requires Microsoft Windows 10 Professional or Enterprise 64-bit. There are various ways to get around this (arbitrary) restriction, but we cannot offer support for these.

Alternatively, you can use Docker Toolbox, which has lower system requirements and will work on Server.

Running Docker on Virtualized Windows

If you provide your solution via a Windows virtual machine, you can still run Docker. Docker for Windows (Docker Engine) requires Hyper-V, which is supported by some virtualization products. While Oracle VirtualBox does not support nested virtualization, VMware Workstation and Parallels do support this feature (see this tutorial for information on how to enable Hyper-V on VMware).

If Hyper-V is not available in your setup, you can choose Docker Toolbox, which doesn’t require a hypervisor to run.

Other Technologies

Docker Toolbox is a legacy runtime for older Mac and Windows systems that does not require Hyper-V (Windows) or hypervisor kit (Mac) to run. It uses VirtualBox under the hood, which is slightly slower than the modern Docker Engine. Docker Toolbox runs on Windows Server 2016/2019 and Windows 7/8/8.1/10.

Docker on Windows is a technology that allows Windows Docker containers to run directly on Windows Server 2016/2019 via a Windows container host. This doesn’t run PSPDFKit Server, as it is a Linux Docker container. Microsoft created Hyper-V isolation (LCOW) to run Linux containers on Windows, and it shipped in the Windows 10 Fall Creators Update and in Windows Server 1709.

Docker for Windows is in the process of being replaced by WSL 2. WSL 2 is the new Windows Subsystem for Linux that runs an actual Linux kernel and thus offers full Linux compatibility. Docker will use WSL 2 in the future to run containers on it directly, offering higher performance than with current solutions. A technical preview of Docker Desktop for WSL 2 will be available for download in July 2019.