

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

# 多容器端点问题排查
<a name="multi-container-troubleshooting"></a>

以下部分可以帮助您排查多容器端点的错误。

## Ping 运行状况检查错误
<a name="multi-container-ping-errors"></a>

 存在多个容器时，端点内存和 CPU 在端点创建过程中会承受更大的压力。具体来说，`MemoryUtilization` 和 `CPUUtilization` 指标高于单容器端点的对应指标，因为利用率压力与容器数量成正比。因此，我们建议您选择具有足够内存和 CPU 的实例类型，以确保实例上有足够的内存来加载所有模型（同样的指导适用于部署推理管线）。否则，您的端点创建可能会失败并显示错误，例如 `XXX did not pass the ping health check`。

## 缺少 accept-bind-to-port =true 的 Docker 标签
<a name="multi-container-missing-accept"></a>

多容器端点中的容器侦听由 `SAGEMAKER_BIND_TO_PORT` 环境变量指定的端口而不是端口 8080。当容器在多容器终端节点中运行时， SageMaker AI 会自动向容器提供此环境变量。如果此环境变量不存在，则容器应默认为使用端口 8080。要指示您的容器使用此要求进行编译，请使用以下命令将标签添加到您的 Dockerfile：

```
LABEL com.amazonaws.sagemaker.capabilities.accept-bind-to-port=true
```

 否则，您将看到一条错误消息，例如 `Your Ecr Image XXX does not contain required com.amazonaws.sagemaker.capabilities.accept-bind-to-port=true Docker label(s).`

 如果您的容器需要侦听第二个端口，请在 `SAGEMAKER_SAFE_PORT_RANGE` 环境变量指定的范围中选择端口。以 *XXXX*-格式将该值指定为包含范围*YYYY*，其中 XXXX 和 YYYY 是多位整数。 SageMaker 当您在多容器终端节点中运行容器时，AI 会自动提供此值。