在雲端使用 GPU(Docker)
在 AWS EC2 Docker 容器中搭配 GPU 渲染 Remotion 影片的設定指南。
在雲端使用 GPU(Docker)
注意:本指南已過時,目前無法正常運作。現在請參閱最新的裸機 GPU 指南。
請仔細按照以下步驟在 EC2 的 Docker 容器中渲染影片。這些步驟具有特定的設定方式,提供一個可運作的參考配置。
警告:偏離以下指示(例如選擇不同的 AMI、不同的 Docker 基礎映像、使用 EC2 以外的平台、使用不同的主機機器)可能導致 GPU 無法正常運作,且問題難以除錯。建議先按照這些指示執行,在確認可以正常運作後再進行修改。
設定 EC2 搭配 Docker 使用 GPU
步驟一:準備 EC2 執行個體
按照 GPU on EC2 指南的指示操作。可以跳過安裝 Chrome、Node.js 和複製示範專案來渲染影片的步驟。
步驟二:安裝 NVIDIA Container Toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get updatesudo apt-get install -y nvidia-container-toolkit步驟三:安裝 Docker
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpgecho "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin步驟四:設定 Docker 使用 NVIDIA 執行時期
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker步驟五:建立 Dockerfile 和 entrypoint.sh
使用 nano ./file-to-create 指令建立檔案,按 Ctrl+X 儲存並退出。
FROM node:20-bookworm
RUN apt-get update
RUN apt-get install -y curl gnupg git
RUN rm -rf /var/lib/apt/lists/*
# 複製存放庫
RUN git clone https://github.com/remotion-dev/gpu-scene.git
WORKDIR /gpu-scene
RUN npm install
# 將 entrypoint 腳本複製至映像中
COPY entrypoint.sh .
CMD ["sh", "./entrypoint.sh"]#!/bin/bash
npx remotion render --gl=angle-egl Scene out/video.mp4步驟六:建置容器並執行範例渲染
sudo docker build . -t remotion-docker-gpu
sudo docker run --gpus all --runtime=nvidia -e "NVIDIA_DRIVER_CAPABILITIES=all" remotion-docker-gpu除錯
使用 npx remotion gpu 指令取得 chrome://gpu 的輸出內容,以驗證 GPU 是否正常運作。
相關資源
- GPU on EC2(裸機) — 最新的裸機 GPU 指南
- 使用 GPU — 啟用 GPU 加速的一般指南
- Docker 部署 — Remotion 的 Docker 設定
- 伺服器端渲染 — 伺服器端渲染概覽