‹ 首页

dev-container

@isaac-sim · 收录于 昨天 · 上游提交 昨天

Sets up and manages the isaaclab_arena Docker container — the single environment used for Arena's development, testing, training, and evaluation. Use when the user asks to set up the dev environment, bootstrap the project, get started on a fresh clone, start developing, build or rebuild the image, start or attach to the container, or run any command inside it. Also covers ./docker/run_docker.sh flag combinations (-r rebuild, -R rebuild without cache, -d/-m/-e custom dataset/model/eval mounts), docker exec usage, and the /isaac-sim/python.sh aliasing.

适合你,如果需要一个标准化、可重复的开发容器环境。

/ 通过 npx 安装 校验哈希
npx oh-my-skill add isaac-sim/isaaclab-arena/dev-container
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- isaac-sim/isaaclab-arena/dev-container
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify isaac-sim/isaaclab-arena/dev-container
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
500GitHub stars
~690上下文体积 · 单文件
索引托管

怎么用

商店整理自技能原文 · 版本 62a5339 · 表述以原文为准
它做什么

安装后,Claude 能自动设置和管理 isaaclab_arena Docker 容器,用于 Arena 项目的开发、测试、训练和评估。它会根据指令构建镜像、启动或附加容器、挂载自定义目录(数据集、模型、评估),并在容器内执行命令。

什么时候触发

当你要求设置开发环境、启动项目、构建/重建镜像、启动或接入容器、在容器内运行命令,或提及 -r、-R、-d、-m、-e 等 flag 组合时触发。

装好后可以这样说
Claude 会自动构建镜像并启动容器
使用 -r 和 -d 参数
通过 docker exec 进入容器运行
技能原文 SKILL.md作者撰写 · Apache-2.0 · 62a5339

Dev Container

Arena uses a single Docker container as the dev, test, training, and eval environment. There is no separate dev container.

Each clone of the repo on the host machine gets its own container, so separate clones can run in parallel. The image (isaaclab_arena:latest) is shared, but the container name is isaaclab_arena-latest for the folder named IsaacLab-Arena and isaaclab_arena-latest-<suffix> for folders named IsaacLab-Arena_<suffix> (run_docker.sh derives the suffix automatically).

Discover this clone's container (once per session)

Never hardcode the name. At the start of a session, resolve the container mounting this clone into ARENA_CONTAINER (empty result = none running, so start one below):

ARENA_CONTAINER=$(docker ps --filter "volume=$(git rev-parse --show-toplevel)" --format '{{.Names}}' | head -1)

Run the commands below in that same shell so $ARENA_CONTAINER stays set (or substitute the literal name).

Start or attach
./docker/run_docker.sh

Idempotent: builds the (shared) image if it does not exist, starts this clone's container if it is not running, then attaches. The container name is auto-derived from the clone directory; pass -s <suffix> to override it.

Common flag combinations

| Flag | Purpose | |---|---| | -r | Force image rebuild | | -R | Force image rebuild without cache | | -d <path> | Mount a custom dataset directory | | -m <path> | Mount a custom model directory | | -e <path> | Mount a custom eval directory |

Example with custom mounts:

./docker/run_docker.sh -d ~/datasets -m ~/models -e ~/eval
Run a command in the already-running container
docker exec "$ARENA_CONTAINER" su $(id -un) -c \
  "cd /workspaces/isaaclab_arena && <command>"

The repo root is mounted at /workspaces/isaaclab_arena inside the container.

Python invocation

Inside the container, python is aliased to /isaac-sim/python.sh. Both forms work, but prefer /isaac-sim/python.sh explicitly in docker exec invocations from outside the container, where the alias is not active.

Verify

A container is up and importable when:

docker exec "$ARENA_CONTAINER" su $(id -un) -c \
  "/isaac-sim/python.sh -c 'import isaaclab_arena; print(isaaclab_arena.__file__)'"

prints a path under /workspaces/isaaclab_arena/.

按 Apache-2.0 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。