

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

# 为交互式端点自定义 Docker 映像
<a name="docker-custom-images-managed-endpoint"></a>

您还可以为交互式端点自定义 Docker 映像，以便运行自定义的基础内核映像。这有助于确保在从 EMR Studio 运行交互式工作负载时拥有所需的依赖项。

1. 按照上述[第 1-4 步](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/docker-custom-images-steps.html#docker-custom-images-retrieve)进行操作，以自定义 Docker 镜像。对于 Amazon EMR 6.9.0 版本及更高版本，您可以从 Amazon ECR Public Gallery 获取基础映像 URI。对于 Amazon EMR 6.9.0 之前的版本，您可以在每个 AWS 区域的 Amazon ECR 注册账户中获取映像，唯一的区别是 Dockerfile 中的基础映像 URI。基础映像 URI 遵循以下格式：

   ```
   ECR-registry-account.dkr.ecr.Region.amazonaws.com/notebook-spark/container-image-tag
   ```

   您需要在基本镜像 URI 中使用 `notebook-spark`，而不是 `spark`。基本镜像包含 Spark 运行时，以及随之运行的 Notebook 内核。有关选择区域和容器镜像标签的更多信息，请参阅 [如何选择基础映像 URI 的详细信息](docker-custom-images-tag.md)。
**注意**  
目前仅支持基础映像的替换，并且不支持引入除基础映像 AWS 提供的其他类型的全新内核。

1. 创建可与自定义映像配合使用的交互式端点。

   首先，使用以下内容创建名为 `custom-image-managed-endpoint.json` 的 JSON 文件。

   ```
   {
       "name": "endpoint-name",
       "virtualClusterId": "virtual-cluster-id",
       "type": "JUPYTER_ENTERPRISE_GATEWAY",
       "releaseLabel": "emr-6.6.0-latest",
       "executionRoleArn": "execution-role-arn",
       "certificateArn": "certificate-arn",
       "configurationOverrides": {
           "applicationConfiguration": [
               {
                   "classification": "jupyter-kernel-overrides",
                   "configurations": [
                       {
                           "classification": "python3",
                           "properties": {
                               "container-image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/custom-notebook-python:latest"
                           }
                       },
                       {
                           "classification": "spark-python-kubernetes",
                           "properties": {
                               "container-image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/custom-notebook-spark:latest"
                           }
                       }
                   ] 
               }
           ]
       }
   }
   ```

   然后，使用该 JSON 文件中指定的配置创建交互式端点，如以下示例所示。

   ```
   aws emr-containers create-managed-endpoint --cli-input-json custom-image-managed-endpoint.json
   ```

   有关更多信息，请参阅[为虚拟集群创建交互式端点](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-create-eks-cluster.html#emr-studio-create-managed-endpoint)。

1. 通过 EMR Studio 连接到交互式端点。有关更多信息，请参阅[从 Studio 连接](https://emr-on-eks.workshop.aws/advanced/emr-studio/connecting-from-studio.html)。