ArcGIS Notebook Server 使用 Docker 容器分配软件。
Docker 软件
ArcGIS Notebook Server 使用 Docker 容器分配软件为笔记本创作者提供安全且隔离的资源。 容器是虚拟化操作系统,与虚拟机不同;计算机上的每个容器将所有操作系统组件容纳于隔离环境中。 ArcGIS Notebook Server 为站点中的每个用户提供单独的容器。 每个用户每个运行时拥有一个容器,用户仅可以在其自己的容器中运行笔记本。
Docker 是单独的第三方软件组件,必须在使用 ArcGIS Notebook Server 之前在每台 ArcGIS Notebook Server 计算机上安装此组件。
Docker 容器镜像
进行安装之前,当您从 My Esri 接收软件下载和授权文件时,还将收到两个特定于 ArcGIS Notebooks 的 Docker 容器镜像。 这些容器镜像为笔记本用户提供必要的运行时(即 Python 模块的特定集合)。
Esri 提供两个 Docker 容器镜像:标准和高级。 这两个容器镜像包括系统工具和库,以及多个用于适当配置容器的设置。 还将包括一个笔记本运行时:标准容器镜像包括标准容器运行时,而高级容器镜像包括高级运行时。
标准运行时允许 ArcGIS Notebooks 使用来自 ArcGIS API for Python 和第三方模块的代码。 高级运行时包含所有标准镜像的模块,还包括 ArcPy 和相关的库。
如果您具有高级许可,应从 My Esri 下载并安装两个容器镜像。 标准和高级镜像中包含的 Python 模块在查看可用 Python 库中列出。
要使用高级运行时创作笔记本,必须在门户中为用户分配包含高级 Notebook 权限的角色。 第一次打开笔记本时,将为其启动容器,其中应用高级容器镜像。
具有高级 Notebook 权限的笔记本创作者也可以指定笔记本以使用高级运行时。 这使他们能够将创建的笔记本与仅具有标准运行时权限的用户共享。 第一次执行此操作时,将启动第二个容器,其中已加载标准容器镜像。
默认情况下会为容器分配一定数量的 RAM 和 CPU 内核份额。 这些默认资源限制由容器运行的运行时确定,如下所示:
- 标准运行时为每个容器分配 1 个 CPU 内核和 4 GB RAM。
- 高级运行时为每个容器分配 2 个 CPU 内核和 6 GB RAM。
作为 ArcGIS Notebook Server 管理员,您可监控站点中工作的笔记本创作者数量及每名创作者使用的运行时。 您可能需要或想要根据这些因素更改 ArcGIS Notebook Server 的资源限制设置。
Docker 版本
对于 Windows 用户,Docker Desktop 是适当的版本。 您可通过该软件运行 ArcGIS Notebook Server。
确保在每台 ArcGIS Notebook Server 计算机上安装 Docker Desktop 4.4.4 或更高版本。 有关安装和配置 Docker 的详细信息,请参阅为 ArcGIS Notebook Server 安装 Docker。
注:
ArcGIS Notebook Server 将仅使用安装在计算机上的 Docker 版本之一。 您不能在多机站点上混合版本。
Notebook 运行时和容器镜像
首次启动容器时,该容器基本为空。 容器需要运行的系统库、工具和配置通过容器镜像条件提供。 容器镜像将作为启动过程的一部分应用到容器。
提示:
如果您已部署云软件,则可能熟悉机器镜像,这些镜像为空白虚拟机提供了运行所需的代码、工具和设置。 容器镜像与容器的空白虚拟操作系统的运行方式相同。
Esri 提供了两个适用于 ArcGIS Notebook Server 的容器镜像。 每个容器镜像中包含了一个 notebook 运行时,该运行时允许您使用 ArcGIS Notebooks 中的 Python 资源。 每个运行时都打包了这些库和依赖项的列表,包括各个 Python 库的特定版本。
可将两个 ArcGIS Notebook Server 运行时标准(包括 ArcGIS API for Python 和其他 Python 模块)和高级(还包括 ArcPy)作为相应容器镜像的一部分在笔记本中使用。
您是接收“标准”容器镜像,还是同时接收“标准”容器镜像和“高级”容器镜像,取决于您的许可。
在 Windows 计算机中,包含 Linux 容器的 ArcGIS Notebook Server 站点中的容器在名为 MobyLinuxVM 的 Linux 仿真器中管理,该仿真器包含在 Hyper-V 环境中。 因此,必须在计算机上安装 Hyper-V 角色。 此要求包含在 ArcGIS Notebook Server 系统要求中。
启动容器时,您从 Esri 接收的两个容器镜像之一将应用于容器。 应用的运行时和镜像取决于笔记本创作者在门户中所具备的权限:
- 对于仅被授予“创建和编辑 Notebook ”权限的创作者,其容器中将加载标准容器镜像。 这些创作者打开的所有 Notebook 都将使用“标准”运行时。
- 同时被授予了高级 Notebook 权限的创作者,其容器中将加载“高级”容器镜像。 其 Notebook 的默认 Notebook 运行时为“高级”运行时。 但是,他们也可以选择为单个 notebook 指定运行时,并且可以选择在其 notebook 中使用“标准”或“高级”运行时。
Windows 系统的先决条件和约束。
如果在 Windows 计算机上部署 ArcGIS Notebook Server,需要考虑一些先决条件和约束。 在 Linux 计算机上部署 ArcGIS Notebook Server 时,这些内容不适用。
Docker Desktop 先决条件
使用 Docker Desktop 之前,需满足以下条件:
- 建议您在 ArcGIS Notebook Server 生产环境中使用 Windows Server 2019 计算机。Windows 10 计算机仅支持开发环境。
- 如果您要在 Windows Server 2019 上部署 ArcGIS Notebook Server,可以使用 Docker Desktop(4.4.4 版本或更高版本)。 请注意当前版本的 Docker 文档未在其系统要求中提及 Windows Server 2019。
- ArcGIS Notebook Server 10.8.x 不再支持 Windows Server 2016.
- ArcGIS Notebook Server 使用其 Docker 组件中的 Linux 容器。 在 Windows 计算机中,ArcGIS Notebook Server 站点中的容器在名为 MobyLinuxVM 的 Linux 仿真器中管理,该仿真器包含在 Hyper-V 环境中。
- ArcGIS Notebook Server 要求预先在 Windows Server 和 Windows 10 上安装 Hyper-V 角色。
- 某些虚拟化环境不允许在 Windows 中启用和运行 Hyper-V。 这将导致无法在此类环境中安装和操作 ArcGIS Notebook Server。
- 当安装 Docker 的用户从安装 Docker 的 ArcGIS Notebook Server 计算机中登出时,Docker Desktop 服务将停止运行。 这台 ArcGIS Notebook Server 计算机可以锁定,但用户必须登录才能使 Docker 成功运行。 如果用户未登录,则打开笔记本将失败,并显示消息无法加载笔记本错误。
注:
有一些替代解决方案可以让 Docker Desktop 在重新启动 ArcGIS Notebook Server 计算机时(而非在用户登录时)自动运行。
- 从 10.7.1 开始,ArcGIS Notebook Server 支持多机站点。 在 Windows 系统中,Docker 不支持在容器上挂载共享驱动器,因此工作空间目录必须保留在每台计算机本地。 由于用户可以在多机站点中的每台计算机上启动容器和打开笔记本,因此工作空间目录中的内容必须在计算机之间同步。 在为 ArcGIS Notebook Server 配置 DFS 复制中描述了设置复制方法的步骤。