

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

# 在截止日期雲端工作者上使用 NVIDIA GPUs 執行 Docker 容器
<a name="examples-host-config-docker-nvidia"></a>

[docker\_nvidia\_container\_toolkit](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/host_configuration_scripts/docker_nvidia_container_toolkit) 主機組態指令碼會在 Linux 服務受管機群工作者上安裝 Docker 和 NVIDIA Container Toolkit，這可讓任務直接使用 執行 GPU 容器`docker run`。許多 GPU 工作負載，例如ComfyUI和穩定擴散推論伺服器，以容器映像形式提供，並需要具有 GPU 傳遞的 Docker。容器也提供簡潔的方式來封裝複雜的相依性堆疊 (CUDA、Python、應用程式特定的程式庫），而不會污染主機或與機群上的其他任務衝突。

 指令碼會執行以下操作：

1. 透過 安裝 Docker `dnf`並啟動服務。

1. 將 `job-user`新增至 `docker`群組，讓任務可以在沒有 sudo 的情況下執行容器。

1. 從官方儲存庫安裝 NVIDIA Container Toolkit。

1. 將 Docker 協助程式設定為使用 NVIDIA 執行時間。

1. 產生用於 GPU 存取的 CDI （容器裝置界面） 規格。

1. 重新啟動 Docker 並驗證設定。

機群 AMI 必須已安裝最終雲端 GPU AMIs 提供的 NVIDIA GPU 驅動程式，且機群必須使用 GPU 執行個體類型，例如 `g6.xlarge`、 `g6e.xlarge`或 `p4d.24xlarge`。

主機組態執行後，任務即可啟動 GPU 容器。下列範例會執行容器，其中包含 GPU 存取、主機聯網，以及傳遞通過的標準截止日期雲端用量型授權環境變數：

```
docker run --rm \
  --runtime=nvidia \
  --gpus all \
  --network host \
  -e ADSKFLEX_LICENSE_FILE \
  -e FLEXLM_TIMEOUT \
  -e foundry_LICENSE \
  -e PIXAR_LICENSE_FILE \
  -e g_licenseServerRLM \
  -e redshift_LICENSE \
  -e SESI_LMHOST \
  -e VRAY_AUTH_CLIENT_FILE_PATH \
  -e VRAY_AUTH_CLIENT_SETTINGS \
  {{your-image:latest}}
```