Isaac Sim无头模式安装(远程服务器安装)
引言:
NVIDIA官方建议在无头服务器或云端使用运行于Linux系统上的Docker容器来部署Isaac Sim。
一、准备工作:
1. 系统需求:(后续内容以 x86_64 Ubuntu 系统为例)
(1) Requirements for x86_64
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
[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
2. 本地启动 Isaac Sim WebRTC Streaming Client
在 Isaac Sim WebRTC Streaming Client 的启动界面中输入服务器的ip地址,选择分辨率,点击“Connect”即可连接

参考文献:
Container Installation — Isaac Sim Documentation
更多推荐



所有评论(0)