引言:

NVIDIA官方建议在无头服务器或云端使用运行于Linux系统上的Docker容器来部署Isaac Sim。

一、准备工作:

1. 系统需求:(后续内容以 x86_64 Ubuntu 系统为例)

(1) Requirements for x86_64

Element

Minimum Spec

Good

Ideal

OS

Ubuntu 22.04/24.04

Windows 10/11

Ubuntu 22.04/24.04

Windows 10/11

Ubuntu 22.04/24.04

Windows 10/11

CPU

Intel Core i7 (7th Generation)

AMD Ryzen 5

Intel Core i7 (9th Generation)

AMD Ryzen 7

Intel Core i9, X-series or higher

AMD Ryzen 9, Threadripper or higher

Cores

4

8

16

RAM [1]

32GB

64GB

64GB

Storage

50GB SSD

500GB SSD

1TB NVMe SSD

GPU

GeForce RTX 4080

GeForce RTX 5080

RTX PRO 6000 Blackwell

VRAM [1]

16GB [2]

16GB

48GB

Driver [3]

Linux: 580.65.06

Windows: 580.88

Linux: 580.65.06

Windows: 580.88

Linux: 580.65.06

Windows: 580.88

[1](1,2)

More RAM and VRAM is recommended for advanced usage of Isaac Sim. Isaac Lab usage will require additional RAM and VRAM for training.

[2]

GPUs with less than 16GB VRAM may be insufficient to run a complex scene rendering more than 16MP per frame. Consider upgrading to a higher spec if that is your use case.

[3]

Isaac Sim was tested on these driver versions. See Technical Requirements for recommended driver versions.

(2) Requirements for aarch64

Element

Specifications

Device

NVIDIA DGX™ Spark

OS

NVIDIA DGX OS 7.2.3

Driver [4]

580.95.05

[4]

Isaac Sim was tested on these driver versions. See Technical Requirements for recommended driver versions.

2. Docker 安装

参考之前写的文章

Ubuntu安装Docker Engine-CSDN博客https://blog.csdn.net/qq_19293929/article/details/160992349

3. 安装 NVIDIA Container Toolkit

功能:打破Docker的隔离限制,使Docker Container内部能够直接访问和调用外部宿主机上的NVIDIA GPU硬件资源

# Configure the repository
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

# Install the NVIDIA Container Toolkit packages
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

# Configure the container runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Verify NVIDIA Container Toolkit
docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi

二、安装及运行

1. 确认已安装 NVIDIA 显卡驱动

nvidia-smi

2. 拉取 Isaac Sim 的 Docker Image

docker pull nvcr.io/nvidia/isaac-sim:5.1.0

3. 在本地创建着色器等可复用资源的挂载路径

mkdir -p ~/docker/isaac-sim/cache/main/ov
mkdir -p ~/docker/isaac-sim/cache/main/warp
mkdir -p ~/docker/isaac-sim/cache/computecache
mkdir -p ~/docker/isaac-sim/config
mkdir -p ~/docker/isaac-sim/data/documents
mkdir -p ~/docker/isaac-sim/data/Kit
mkdir -p ~/docker/isaac-sim/logs
mkdir -p ~/docker/isaac-sim/pkg
sudo chown -R 1234:1234 ~/docker/isaac-sim

# Shared directory between the host and the container
sudo mkdir -p /srv/isaac-sim/share
sudo chown -R 1234:1234 /srv/isaac-sim/share
sudo chmod -R 777 /srv/isaac-sim/share

在官方文档内容外增加了 /srv/isaac-sim/share 目录作为不同用户之间的共享资源路径

4. 确认 Isaac Sim 可以以无头模式在服务器上运行

(1) 创建一个临时 Container

docker run --name isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \
    -e "PRIVACY_CONSENT=Y" \
    -v ~/docker/isaac-sim/cache/main:/isaac-sim/.cache:rw \
    -v ~/docker/isaac-sim/cache/computecache:/isaac-sim/.nv/ComputeCache:rw \
    -v ~/docker/isaac-sim/logs:/isaac-sim/.nvidia-omniverse/logs:rw \
    -v ~/docker/isaac-sim/config:/isaac-sim/.nvidia-omniverse/config:rw \
    -v ~/docker/isaac-sim/data:/isaac-sim/.local/share/ov/data:rw \
    -v ~/docker/isaac-sim/pkg:/isaac-sim/.local/share/ov/pkg:rw \
    -u 1234:1234 \
    nvcr.io/nvidia/isaac-sim:5.1.0

以下(2)~(3)步都在isaac-sim的docker container中执行

(2) 运行 isaac-sim 的自动系统校验

./isaac-sim.compatibility_check.sh --/app/quitAfter=10 --no-window

(3) 尝试以无头模式运行 Isaac Sim

./runheadless.sh -v

需要等待几分钟,直到Terminal中显示以下内容,Isaac Sim已经成功启动

Isaac Sim Full Streaming App is loaded.

5. 以无头模式后台启动Isaac Sim

(1) 创建 Container 设置 Container 启动同时以无头模式启动 Isaac Sim

sudo docker container run --name isaac-sim_5.1.0 \
    -d --entrypoint bash \
    --gpus all --network=host \
    -e "ACCEPT_EULA=Y" \
    -e "PRIVACY_CONSENT=Y" \
    -v ~/docker/isaac-sim/cache/main:/isaac-sim/.cache:rw \
    -v ~/docker/isaac-sim/cache/computecache:/isaac-sim/.nv/ComputeCache:rw \
    -v ~/docker/isaac-sim/logs:/isaac-sim/.nvidia-omniverse/logs:rw \
    -v ~/docker/isaac-sim/config:/isaac-sim/.nvidia-omniverse/config:rw \
    -v ~/docker/isaac-sim/data:/isaac-sim/.local/share/ov/data:rw \
    -v ~/docker/isaac-sim/pkg:/isaac-sim/.local/share/ov/pkg:rw \
    -v /srv/isaac-sim/share:/isaac-sim/share:rw \
    -u 1234:1234 \
    nvcr.io/nvidia/isaac-sim:5.1.0 \
    -c "./runheadless.sh" 

(2) 重启 Container

docker container restart isaac-sim_5.1.0

(3) 进入运行中 Container 的 Terminal 进行调试

docker container exec -it isaac-sim_5.1.0 bash

三、远程终端连接

1. 需要访问服务器的终端从 NVIDIA Isaac Sim 官网下载 Isaac Sim WebRTC Streaming Client

Download Isaac Sim — Isaac Sim Documentationhttps://docs.isaacsim.omniverse.nvidia.com/5.1.0/installation/download.html

2. 本地启动 Isaac Sim WebRTC Streaming Client

在 Isaac Sim WebRTC Streaming Client 的启动界面中输入服务器的ip地址,选择分辨率,点击“Connect”即可连接

参考文献:

Container Installation — Isaac Sim Documentation

Isaac Sim Requirements — Isaac Sim Documentation

Download Isaac Sim — Isaac Sim Documentation

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐