Isaac Sim可以通过 NVIDIA 官方容器镜像运行。这里记录一下在 Docker 中安装 NVIDIA Container Toolkit,并以 Headless 模式启动Isaac Sim 5.0.0。
操作前需要先确认宿主机已经安装 NVIDIA 驱动,并且nvidia-smi可以正常看到显卡。
配置 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 update
安装 NVIDIA Container Toolkit
sudo apt-get install -y nvidia-container-toolkit
重启 Docker:
sudo systemctl restart docker
配置 Docker 使用 NVIDIA Runtime
sudo nvidia-ctk runtime configure --runtime=docker
再次重启 Docker:
sudo systemctl restart docker
可以先测试一下 Docker 是否能调用显卡:
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
启动 Isaac Sim
docker run -d \
--name isaac-sim \
--restart always \
--network=host \
--gpus all \
--runtime=nvidia \
-e "ACCEPT_EULA=Y" \
-e "PRIVACY_CONSENT=Y" \
-v /opt/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \
-v /opt/isaac-sim/cache/ov:/root/.cache/ov:rw \
-v /opt/isaac-sim/cache/pip:/root/.cache/pip:rw \
-v /opt/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
-v /opt/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
-v /opt/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
-v /opt/isaac-sim/data:/root/.local/share/ov/data:rw \
-v /opt/isaac-sim/documents:/root/Documents:rw \
nvcr.io/nvidia/isaac-sim:5.0.0 ./runheadless.sh -v
其中:
--gpus all表示把所有 GPU 暴露给容器--runtime=nvidia表示使用 NVIDIA 容器运行时ACCEPT_EULA=Y表示接受 Isaac Sim EULAPRIVACY_CONSENT=Y表示接受隐私数据收集选项/opt/isaac-sim/cache用于持久化各类缓存/opt/isaac-sim/logs用于保存日志/opt/isaac-sim/data和/opt/isaac-sim/documents用于保存运行数据和文档
查看容器状态:
docker ps | grep isaac-sim
查看日志:
docker logs -f isaac-sim
如果需要重新创建容器:
docker stop isaac-sim
docker rm isaac-sim