容器部署#
Docker 是一个工具,允许创建容器,这些容器是可以用来运行应用程序的隔离环境。它们对于确保应用程序能够在安装了 Docker 的任何机器上运行非常有用,而不受主机操作系统或已安装库的影响。
我们包含了一个 Dockerfile 和 docker-compose.yaml 文件,可以用来构建一个包含 Isaac Lab 和所有依赖项的 Docker 镜像。然后可以使用该镜像在容器中运行 Isaac Lab。Dockerfile 基于 NVIDIA 提供的 Isaac Sim 镜像,其中包括 Omniverse 应用程序启动器和 Isaac Sim 应用程序。Dockerfile 在该镜像的基础上安装了 Isaac Lab 及其依赖项。
克隆仓库#
在构建容器之前,克隆 Isaac Lab 仓库(如果尚未完成):
git clone git@github.com:isaac-sim/IsaacLab.git
git clone https://github.com/isaac-sim/IsaacLab.git
下一步#
克隆后,您可以选择适合您需求的部署工作流程:
-
学习如何在 Docker 容器中构建、配置和运行 Isaac Lab。
解释了仓库的
docker/
设置,container.py
辅助脚本,挂载卷,镜像扩展(如 ROS 2),以及可选的 CloudXR 流支持。涵盖了在 NVIDIA NGC 上运行预构建的 Isaac Lab 容器用于无头训练。
-
学习如何在 Isaac Lab Docker 容器中运行开发工作流程。
演示了构建容器,进入容器,执行示例 Python 脚本 (log_time.py),并使用挂载卷检索日志的过程。
重点介绍用于实时代码编辑的绑定挂载目录,并解释了如何停止或移除容器而保留镜像和产物。
-
学习如何在高性能计算(HPC)集群上运行 Isaac Lab。
解释了如何将 Docker 镜像导出为 Singularity(Apptainer)镜像,配置集群特定参数,并使用常见工作负载管理器(SLURM 或 PBS)提交作业。
包括针对 ETH Zurich 的 Euler 集群和 IIT Genoa 的 Franklin 集群进行测试的工作流程,同时提供了适应其他环境的注意事项。
-
在 Kubernetes 集群上为 Isaac Lab 部署 CloudXR 远程操作。
涵盖了系统要求、软件依赖和准备步骤,包括 RBAC 权限。
演示了如何安装和验证 Helm 图表,运行 pod,并卸载它。