Skip to main content

容器引擎和 ArcGIS Notebook Server

ArcGIS Notebook Server 使用 Docker 容器分配软件。

Docker 软件

ArcGIS Notebook Server 使用 Docker 容器分配软件为 notebook 作者提供安全性并实现资源隔离。 容器是虚拟化操作系统,与虚拟机不同;计算机上的每个容器将所有操作系统组件容纳于隔离环境中。 ArcGIS Notebook Server 为站点中的每个用户提供单独的容器。 每个用户每个运行时拥有一个容器,用户仅可以在其自己的容器中运行 notebook。

Docker 是单独的第三方软件组件,必须在使用 ArcGIS Notebook Server 之前在每台 ArcGIS Notebook Server 计算机上安装此组件。

Docker 容器镜像

进行安装之前,当您从 My Esri 接收软件下载和授权文件时,还将收到两个特定于 ArcGIS Notebooks 的 Docker 容器镜像。 这些容器镜像为 notebook 用户提供需要的运行时(即 Python 模块的特定集合)。

Esri 提供两个 Docker 容器镜像:Standard 和 Advanced。 这两个容器镜像包括系统工具和库,以及多个用于适当配置容器的设置。 还将包括一个 notebook 运行时:Standard 容器镜像包括 Standard 容器运行时,而 Advanced 容器镜像包括 Advanced 运行时。

Standard 运行时允许 ArcGIS Notebooks 使用来自 ArcGIS API for Python 和第三方模块的代码。 Advanced 运行时包含所有 Standard 镜像的模块,还包括 ArcPy 和相关的库。

如果您具有 Advanced 许可,应从 My Esri 下载并安装两个容器镜像。 Standard 和 Advanced 镜像中包含的 Python 模块在查看可用 Python 库中列出。

要使用 Advanced 运行时创作 notebook,必须在门户中为用户分配包含 Advanced notebook 权限的角色。 第一次打开 notebook 时,将为其启动容器,其中应用 Advanced 容器镜像。

具有 Advanced notebook 权限的 notebook 作者也可以指定 notebook 以使用 Advanced 运行时。 这使他们能够将创建的 notebook 与仅具有 Standard 运行时权限的用户共享。 第一次执行此操作时,将启动第二个容器,其中已加载 Standard 容器镜像。

了解有关 notebook 用户权限的详细信息

默认情况下会为容器分配一定数量的 RAM 和 CPU 内核份额。 这些默认资源限制由容器运行的运行时确定,如下所示:

  • Standard 运行时为每个容器分配 1 个 CPU 核和 4 GB RAM。

  • Advanced 运行时为每个容器分配 2 个 CPU 核和 6 GB RAM。

作为 ArcGIS Notebook Server 管理员,您可监控站点中工作的 notebook 作者数量及每名作者使用的运行时。 您可能需要或想要根据这些因素更改 ArcGIS Notebook Server 的资源限制设置

Docker 版本

Docker 共有两个可用版本。 Docker 和 Mirantis Container Runtime(原 Docker Engine - Enterprise)。 两个版本都具有完整的功能。

注:

有关 Docker 版本和定价的详细信息,请参阅 Docker 常见问题解答

确保您在每台 ArcGIS Notebook Server 计算机上安装了 Docker 或 Mirantis Container Runtime。 有关安装和配置 Docker 的详细信息,请参阅为 ArcGIS Notebook Server 安装 Docker

注:

ArcGIS Notebook Server 只能与安装在计算机上的其中一种 Docker 版本配合使用。 您不能在多机站点上混合版本。

Notebook 运行时和容器镜像

首次启动容器时,该容器基本为空。 容器需要运行的系统库、工具和配置通过容器镜像条件提供。 容器镜像将作为启动过程的一部分应用到容器。

提示:

如果您已部署云软件,则可能熟悉机器镜像,这些镜像为空白虚拟机提供了运行所需的代码、工具和设置。 容器镜像与容器的空白虚拟操作系统的运行方式相同。

Esri 为 ArcGIS Notebook Server 提供了两个容器镜像。 每个容器镜像中都包含了一个 notebook 运行时,该运行时使得 Python 资源在 ArcGIS Notebooks 中可用。 每个运行时都打包了这些库和依赖项的列表,包括各个 Python 库的特定版本。

可将两个 ArcGIS Notebook Server 运行时:Standard(包括 ArcGIS API for Python 和其他 Python 模块)和 Advanced(还包括 ArcPy)作为相应容器镜像的一部分在 notebook 中使用。

查看每个运行时中可用的库

您是接收 Standard 容器镜像,还是同时接收 Standard 容器镜像和 Advanced 容器镜像,取决于您的许可。

ArcGIS Notebook Server 的 Linux 架构

启动容器时,您从 Esri 接收的两个容器镜像之一将应用于容器。 应用的运行时和镜像取决于 notebook 作者在门户中所具备的权限:

  • 对于仅授予“创建和编辑 Notebook” 权限的作者,其容器中将加载 Standard 容器镜像。 这些作者打开的所有 notebook 都将使用 Standard 运行时。

  • 同时已授予 Advanced notebook 权限的作者,其容器中将加载 Advanced 容器镜像。 其 notebook 的默认 notebook 运行时为 Advanced 运行时。 但是,他们也可以选择为单个 notebook 指定运行时,并且可以选择在其 notebook 中使用 Standard 或 Advanced 运行时。

了解有关 notebook 用户权限的详细信息

ArcGIS Notebook Server 与 Windows 容器相兼容,前提是在 Windows 上使用 Mirantis Container Runtime 或通过二进制文件安装的 Docker Engine 作为容器引擎选项。

Windows 容器引擎

与其他 ArcGIS Notebook Server 部署类似,使用 Windows 容器的 ArcGIS Notebook Server 安装在服务器操作系统上,并与 ArcGIS Enterprise 门户进行配置和联合。 此外,Web Adaptor 可在 ArcGIS Notebook Server 软件之前部署。

ArcGIS Notebook Server 使用名为容器的虚拟化操作系统来隔离 notebook 作者的环境。 因此,容器允许每个作者使用服务器资源子集,且在工作或资源使用中不会互相干扰。

这些容器由第三方容器引擎(Mirantis Container Runtime 或通过二进制文件安装的 Docker Engine)分配和维护。 在安装 ArcGIS Notebook Server 之前,您必须安装容器引擎。 安装 ArcGIS Notebook Server 后,必须将其配置为与该容器引擎配合使用。

ArcGIS Notebook Server 向站点中每位 notebook 作者按运行时分配容器(一个运行时一个容器),并且只有他们可以在容器中工作。 作者在运行 notebook 时使用的计算资源不会影响其他作者的容器。

当具有相应权限的门户成员打开其第一个 notebook 时,将启动 ArcGIS Notebook Server 站点上的容器。 Notebook 和容器之间的会话将在整个 notebook 运行期间持续进行。

ArcGIS Notebook Server 可以在一个站点中将多台计算机连接在一起。 多机配置中的计算机必须具有相同的配置,并且每台计算机都可以运行 ArcGIS Notebooks。

Notebook 运行时和 Windows 容器镜像

系统为 ArcGIS Notebook Server 提供了单个 Windows 容器镜像。 此容器镜像中包括了 Standard 和 Advanced notebook 运行时,这使得 Python 资源可在 ArcGIS Notebooks 中使用。 有关每个运行时中可用的库的详细信息,请参阅可用的 Python 库

两个 ArcGIS Notebook Server 运行时(Standard 和 Advanced)可作为容器镜像的一部分在 notebook 中使用。 可以使用 Standard 运行时或同时使用 Standard 和 Advanced 运行时,具体取决于您的许可和用户权限。

ArcGIS Notebook Server 站点中的 Windows 容器支持进程和 Hyper-V 两种运行时隔离模式。 有关这些模式的详细信息,请参阅 Microsoft 隔离模式文档。 如果您将站点配置为使用 Hyper-V 隔离,则必须在计算机上安装 Hyper-V 角色。 有关如何为 Windows Server 安装 Hyper-V 的详细信息,请参阅 Microsoft 文档。

注:

将 Windows 容器与 Hyper-V 搭配使用时,可以运行的容器数量存在限制。有关详细信息,请参阅有关容器的 Microsoft 常见问题解答

逻辑示意图

逻辑示意图

启动容器时,Esri 提供的 Windows 容器镜像将应用于该容器。 运行时将取决于为 ArcGIS Notebook Server 配置的许可和 notebook 作者的权限。

注:

存在一个已知限制:在导入 torch 库或将 torch 作为依赖项的 Python 库时,可能会导致 WinError 1455。 有关详细信息,请参阅常见问题及解决方案

Windows 系统的先决条件和约束

如果在使用 Windows 容器的 Windows 计算机上部署 ArcGIS Notebook Server,需要考虑一些先决条件和约束。

Mirantis Container Runtime 先决条件

使用 Mirantis Container Runtime 时,请谨记以下信息:

  • Mirantis Container Runtime 当前仅支持 Windows Server 2022。

  • 在多台计算机上部署 ArcGIS Notebook Server 和 Mirantis Container Runtime 时,不再需要为工作空间目录配置 DFS 复制。 工作空间目录可以作为使用 Mirantis Container Runtime 挂载在驱动器上的路径进行共享。