

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 自定义 RStudio 映像规范
<a name="rstudio-byoi-specs"></a>

在本指南中，您将了解自定义 RStudio 映像规范，以便使用自己的映像。要在 Amazon A SageMaker I 中使用自定义 RStudio 映像，您必须满足两组要求。这些要求由 rStudio PBC 和 Amazon Studio Class SageMaker ic 平台强制。如果这两组要求中的任何一组未得到满足，您的自定义映像将无法正常运行。

## RStudio PBC 要求
<a name="rstudio-byoi-specs-rstudio"></a>

RStudio PBC 要求列在[将 Docker 映像与 RStudio Workbench/RStudio Server Pro、Launcher 和 Kubernetes 结合使用](https://support.rstudio.com/hc/en-us/articles/360019253393-Using-Docker-images-with-RStudio-Server-Pro-Launcher-and-Kubernetes)一文中。请按照此文中的说明，创建您的自定义 RStudio 映像的基础。

有关如何在自定义映像中安装多个 R 版本的说明，请参阅[在 Linux 上安装多个 R 版本](https://support.rstudio.com/hc/en-us/articles/215488098)。

## 亚马逊 SageMaker Studio 经典版要求
<a name="rstudio-byoi-specs-studio"></a>

Amazon SageMaker Studio Classic 对你的 RStudio 映像规定了以下一组安装要求。
+ 必须使用版本最低为 `2025.05.1+513.pro3` 的 RStudio 基础映像。有关更多信息，请参阅 [RStudio 版本控制](rstudio-version.md)。
+ 必须安装以下软件包：

  ```
  yum install -y sudo \
  openjdk-11-jdk \
  libpng-dev \
  && yum clean all \
  && /opt/R/${R_VERSION}/bin/R -e "install.packages('reticulate', repos='https://packagemanager.rstudio.com/cran/__linux__/centos7/latest')" \
  && /opt/python/${PYTHON_VERSION}/bin/pip install --upgrade \
      'boto3>1.0<2.0' \
      'awscli>1.0<2.0' \
      'sagemaker[local]<3'
  ```
+ 必须为 `RSTUDIO_CONNECT_URL` 和 `RSTUDIO_PACKAGE_MANAGER_URL` 环境变量提供默认值。

  ```
  ENV RSTUDIO_CONNECT_URL "{{YOUR_CONNECT_URL}}"
  ENV RSTUDIO_PACKAGE_MANAGER_URL "{{YOUR_PACKAGE_MANAGER_URL}}"
  ENV RSTUDIO_FORCE_NON_ZERO_EXIT_CODE 1
  ```

以下一般规范适用于由 RStudio 映像版本表示的映像。

**运行映像**  
覆盖 `ENTRYPOINT` 和 `CMD` 指令，以便映像作为 RSession 应用程序运行。

**停止映像**  
`DeleteApp` API 发出等同于 `docker stop` 命令的指令。容器中的其他进程无法获得信 SIGKILL/SIGTERM 号。

**文件系统**  
`/opt/.sagemakerinternal` 和 `/opt/ml` 目录是保留的目录。这些目录中的任何数据在运行时可能不可见。

**用户数据**  
 SageMaker AI 域中的每位用户都会在图像中共享的 Amazon Elastic File System 卷上获得一个用户目录。当前用户的目录在 Amazon Elastic File System 卷上的位置为 `/home/sagemaker-user`。

**元数据**  
元数据文件位于 `/opt/ml/metadata/resource-metadata.json` 中。除了映像中定义的变量，不会添加额外的环境变量。有关更多信息，请参阅 [获取应用程序元数据](notebooks-run-and-manage-metadata.md#notebooks-run-and-manage-metadata-app)。

**GPU**  
在 GPU 实例上，使用 `--gpus` 选项运行映像。CUDA 工具包应当仅包含在映像中，而不是 NVIDIA 驱动程序中。有关更多信息，请参阅[《NVIDIA 用户指南》](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/user-guide.html)。

**指标和日志记录**  
RSession 流程 CloudWatch 中的日志将通过客户的账户发送到亚马逊。日志组的名称为 `/aws/sagemaker/studio`。日志流的名称为 `$domainID/$userProfileName/RSession/$appName`。

**映像大小**  
映像大小限制在 25 GB 以内。要查看映像的大小，请运行 `docker image ls`。