

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

# 自定义映像的注意事项
<a name="docker-custom-images-considerations"></a>

自定义 Docker 映像时，您可精细地选择精确的任务运行时间。使用此功能时，请考虑以下最佳实践。其中包括安全、配置和安装映像方面的注意事项：
+ 安全是双方共同承担 AWS 的责任。您负责对添加到映像中的二进制文件进行安全修补。按照[Amazon EMR on EKS 安全最佳实践](security-best-practices.md)中的说明操作，特别是[获取自定义镜像的最新安全更新](security-best-practices.md#security-custom-image)和[采用最低特权原则](security-best-practices.md#security-least-privilege)。
+ 自定义基础映像时，请务必将 Docker 用户更改为 `hadoop:hadoop`，以确保不使用根用户运行任务。
+ Amazon EMR on EKS 会在运行时将文件挂载到映像的配置之上，例如 `spark-defaults.conf`。要覆盖这些配置文件，我们建议您在提交任务期间使用 `applicationOverrides` 参数，而不是仅直接在自定义映像中修改文件。
+ Amazon EMR on EKS 会在运行时挂载某些文件夹。对这些文件夹所做的任何修改都不可用于容器中。如果要为自定义映像添加应用程序或其依赖项，我们建议您选择不属于以下预定义路径的目录：
  + `/var/log/fluentd`
  + `/var/log/spark/user`
  + `/var/log/spark/apps`
  + `/mnt`
  + `/tmp`
  + `/home/hadoop`
+ 您可以将自定义映像上载到任何兼容 Docker 的存储库，例如 Amazon ECR、Docker Hub 或私有企业存储库。有关使用所选 Docker 存储库配置 Amazon EKS 集群身份验证的更多信息，请参阅[从私有仓库拉取镜像](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/)。