Docker container allocation software is used by ArcGIS Notebook Server.
ArcGIS Notebook Server uses Docker container allocation software to provide security and isolate resources for notebook authors. Containers are virtualized operating systems, as opposed to virtual machines; each container on a machine includes all OS components in an isolated environment. ArcGIS Notebook Server provides a separate container for each user in the site. Each user owns one container per runtime, and users can only run notebooks in their own container.
Docker is a separate, third-party software component that must be installed on each ArcGIS Notebook Server machine before using ArcGIS Notebook Server.
Docker container images
When you receive your software downloads and authorization files from My Esri before installation, you also receive two Docker container images specific to ArcGIS Notebooks. These container images provide the necessary runtime—a specific collection of Python modules—for notebook users.
Esri provides two Docker container images: Standard and Advanced. These two container images include system tools and libraries, as well as various settings to configure the container appropriately. They also include a notebook runtime: the Standard container image includes the Standard notebook runtime, and the Advanced container image includes the Advanced runtime.
The Standard runtime enables ArcGIS Notebooks to use code from ArcGIS API for Python and third-party modules. The Advanced runtime contains all the modules of the Standard image and also includes ArcPy and related libraries.
If you have an Advanced license, you should download and install both container images from My Esri. The Python modules contained in the Standard and Advanced images are listed in Available Python libraries.
To author notebooks using the Advanced runtime, a user must be assigned a role in the portal that includes the Advanced Notebooks privilege. The first time they open a notebook, a container will be launched for them, with the Advanced container image applied to it.
Notebook authors with the Advanced Notebooks privilege can also specify a notebook to use the Standard runtime. This allows them to share notebooks they've created with users who only have access to the Standard runtime. The first time they do so, a second container will be launched for them, loaded with the Standard container image.
By default, a container is allocated a certain amount of RAM and a certain number of CPU core shares. These default resource limits are determined by the runtime being run by the container, as follows:
- The Standard runtime allots 1 CPU core and 4 GB of RAM per container.
- The Advanced runtime allots 2 CPU cores and 6 GB of RAM per container.
As an ArcGIS Notebook Server administrator, monitor the number of notebook authors working in your site and which runtime each is using. Depending on these factors, you may need or want to change the resource limits set for ArcGIS Notebook Server.
Docker is available in two editions. Docker and Mirantis Container Runtime (formerly Docker Engine-Enterprise). Both editions are considered feature-complete.
See the Docker FAQ for more information on the Docker version and pricing.
For Windows users, Docker Desktop is the appropriate edition. This software allows you to run ArcGIS Notebook Server.
Ensure that you install Docker Desktop 4.4.4 or later or Mirantis Container Runtime 20.10.0 or later on each ArcGIS Notebook Server machine. For more information on installing and configuring Docker, see Install Docker for ArcGIS Notebook Server.
ArcGIS Notebook Server will only work with one of the editions of Docker installed on a machine. You cannot mix editions on a multimachine site.
Mirantis Container Runtime for Windows beta release
At the release of ArcGIS Notebook Server 11.0, ArcGIS Notebook Server supports Mirantis Container Runtime for Windows Server as a beta release. For this release, it is recommended that you use ArcGIS Notebook Server with Mirantis Container Runtime for testing purposes only.
While in beta, these features may have known performance or quality issues and will not be supported by Esri Technical Support.
In a future release, Esri plans to fully support ArcGIS Notebook Server with Mirantis Container Runtime for Windows Server and Windows Containers and will deprecate ArcGIS Notebook Server support for Docker Desktop on Windows.
At the release of ArcGIS Notebook Server 11.0, Mirantis Container Runtime for Windows Server is available for free for 1-9 nodes. See the Mirantis Container Runtime store page for more information on pricing.
Prerequisites and constraints for Windows systems
If you deploy ArcGIS Notebook Server on Windows machines, there are a number of prerequisites and constraints to consider. These do not apply when deploying ArcGIS Notebook Server on Linux machines.
Docker Desktop prerequisites
- It's recommended that you use Windows Server 2019 machines in a production environment of ArcGIS Notebook Server. Windows 10 machines are only supported for development environments.
- If you deploy ArcGIS Notebook Server on Windows Server 2019, you can use Docker Desktop (version 4.4.4 or later). Note that the Docker documentation for the current version does not mention Windows Server 2019 in its system requirements.
- ArcGIS Notebook Server 10.8.x no longer supports Windows Server 2016.
- ArcGIS Notebook Server uses Linux containers in its Docker component. On Windows machines, the containers in an ArcGIS Notebook Server site are managed within a Linux emulator named MobyLinuxVM, which is contained within the Hyper-V environment.
- ArcGIS Notebook Server requires the Hyper-V role to already be installed on Windows Server and Windows 10.
- Certain virtualization environments do not allow Hyper-V to be enabled and operated in Windows. As a result, ArcGIS Notebook Server cannot be installed and operated in such environments.
- The Docker Desktop service will stop running when the user installing Docker signs out of the ArcGIS Notebook Server machine where Docker is installed. This ArcGIS Notebook Server machine can be locked, but the user must be signed in for Docker to run successfully. If the user is not signed in, opening notebooks will fail with the message Unable to load notebook error.
There are alternative solutions for having Docker Desktop run automatically upon restarting the ArcGIS Notebook Server machine, instead of having the user sign in.
- Starting at 10.7.1, ArcGIS Notebook Server supports multiple-machine sites. In Windows systems, Docker does not support mounting shared drives on containers, so the workspace directory must remain local on each machine. Because users can launch containers and open notebooks on each machine in a multiple-machine site, it's necessary that the content in the workspace directory be synchronized across machines. The steps to configure one method of replication are described in Configure DFS replication for ArcGIS Notebook Server.
Mirantis Container Runtime prerequisites
- Mirantis Container Runtime currently only supports Windows Server 2022.
- When ArcGIS Notebook Server and Mirantis Container Runtime are deployed on multiple machines, you no longer need to configure replication (DFS) for your workspace directory. The workspace directory can be shared as a path mounted on a drive with Mirantis Container Runtime.