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 prior to using ArcGIS Notebook Server.
Docker container images
When you receive your software downloads and authorization files from My Esri prior to 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, while 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 an ArcGIS 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 comes in two editions. Docker Desktop Community is a free download, while Docker Engine Enterprise requires a paid subscription or a trial but includes support and maintenance. Both editions are considered feature-complete.
ArcGIS Notebook Server supports two Linux operating systems: Ubuntu and Red Hat Enterprise Linux. If your machine runs Red Hat Enterprise Linux, it is recommended that you install Docker Engine Enterprise. If your machine runs Ubuntu, either Docker edition will work with ArcGIS Notebook Server.
Ensure that you install Docker 17.0 or later on each ArcGIS Notebook Server machine. For more information on installing and configuring Docker, see Install Docker for ArcGIS Notebook Server.