

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 排解多容器端點問題
<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 會自動提供此值。