From 305b35878aaa5695af128e367925716c2d77539b Mon Sep 17 00:00:00 2001 From: Elaina <1463967532@qq.com> Date: Sat, 25 Apr 2026 20:34:22 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 62 +++++++++++++++++++++++++++++++++++++++++ sim/isaac-uv/build.bash | 41 +++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 sim/isaac-uv/Dockerfile create mode 100755 sim/isaac-uv/build.bash diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile new file mode 100644 index 0000000..ca6d03e --- /dev/null +++ b/sim/isaac-uv/Dockerfile @@ -0,0 +1,62 @@ +FROM nvidia/cuda:12.6.3-base-ubuntu22.04 + +# --- 1. 用户与权限配置 --- +ARG USERNAME=Elaina +ARG USER_UID=1000 +ARG USER_GID=1000 + +RUN groupadd --gid ${USER_GID} ${USERNAME} \ + && useradd --uid ${USER_UID} --gid ${USER_GID} -m ${USERNAME} \ + && apt-get update && apt-get install -y sudo \ + && echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \ + && rm -rf /var/lib/apt/lists/* + +# --- 2. 环境变量配置 --- +ENV MAMBA_ROOT_PREFIX=/usr \ + UV_SYSTEM_PYTHON=1 \ + ISAACSIM_PATH=/isaac-sim + +# --- 3. 安装包管理工具与 GUI 核心依赖 (APT) --- +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl ca-certificates tar bzip2 \ + # Isaac Sim GUI 运行必须的系统库 + pkg-config libglvnd0 libgl1 libglx0 libegl1 libgles2 \ + libvulkan1 vulkan-tools libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 \ + libwayland-client0 libwayland-cursor0 libwayland-egl1 \ + && curl -LsSf https://astral.sh/uv/install.sh | sh \ + && curl -LsSf https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xj -C /usr/bin/ --strip-components=1 bin/micromamba \ + && rm -rf /var/lib/apt/lists/* + +# --- 4. Micromamba 强制安装系统级工具 (禁止环境隔离) --- +# 安装 Python 3.11 (Isaac Sim 5.1 必需) 及开发工具到 /usr +RUN micromamba install -y --prefix /usr -c conda-forge \ + python=3.11 zsh git wget cmake ninja openssh \ + && micromamba clean --all --yes + +# --- 5. 使用 UV 安装 Isaac Sim (前置安装) --- +# 接受 EULA 环境变量 (根据 NVIDIA 要求) +ENV ACCEPT_EULA=Y +RUN uv pip install --system \ + --extra-index-url https://pypi.nvidia.com \ + isaac-sim==5.1.0 \ + isaac-sim-gui==5.1.0 \ + isaac-sim-extscache-physics==5.1.0 \ + isaac-sim-extscache-kit-sdk==5.1.0 + +# --- 6. 开发环境配置 (Oh My Zsh & Starship) --- +USER ${USERNAME} +WORKDIR /home/${USERNAME} + +RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended \ + && git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions \ + && git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting \ + && git clone https://github.com/esc/conda-zsh-completion ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/conda-zsh-completion \ + && sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting conda-zsh-completion)/' ~/.zshrc \ + && curl -sS https://starship.rs/install.sh | sudo sh -s -- -y \ + && echo 'eval "$(starship init zsh)"' >> ~/.zshrc \ + && mkdir -p ~/.config \ + && printf '[username]\nshow_always = true\nstyle_user = "bold #af87ff"\nformat = "[$user]($style) "' > ~/.config/starship.toml + +# --- 7. 延迟加载 micromamba 索引 (仅保留命令补全,不涉及环境激活) -- + +CMD ["/usr/bin/zsh"] \ No newline at end of file diff --git a/sim/isaac-uv/build.bash b/sim/isaac-uv/build.bash new file mode 100755 index 0000000..6384453 --- /dev/null +++ b/sim/isaac-uv/build.bash @@ -0,0 +1,41 @@ +#!/bin/bash + +# 获取脚本所在目录 +# 获取脚本所在目录的绝对路径 +SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +PARENT_DIR=$(dirname "$SCRIPT_DIR") + +echo "脚本目录: $SCRIPT_DIR" +echo "父目录: $PARENT_DIR" + +# 设置默认 tag +TAG="isaac-uv" + +# 从外部传入的 IMAGE_REPO(格式:ghcr.io/user/repo 或 docker.io/user/repo) +IMAGE_REPO="elainasuki/other" + +# 组合完整镜像名 +IMAGE="$IMAGE_REPO:$TAG" + +# 获取工作流中的环境变量来决定是否支持 arm64 +PLATFORMS="linux/amd64" # 默认只支持 amd64 架构 + +if [[ "${BUILD_ARM64}" == "true" ]]; then + PLATFORMS="$PLATFORMS,linux/arm64" # 如果环境变量 BUILD_ARM64 为 true,则支持 arm64 架构 +fi +# 这里用的是docker build .. content是上一级而不是当前目录 +# 如果传入 --github-action 参数 +if [[ "$1" == "--github-action" ]]; then + echo "构建并推送镜像: $IMAGE" + docker buildx build \ + --platform $PLATFORMS \ + -t "$IMAGE" \ + -f "$SCRIPT_DIR/Dockerfile" \ + --cache-from "type=registry,ref=$IMAGE" \ + --cache-to type=inline \ + "$SCRIPT_DIR" \ + --push +else + echo "本地构建 $IMAGE" + docker build -t "$IMAGE" -f "$SCRIPT_DIR/Dockerfile" "$SCRIPT_DIR" +fi \ No newline at end of file From cef4988b6ca7b59e7a67218a584f4dbefd008854 Mon Sep 17 00:00:00 2001 From: Elaina <1463967532@qq.com> Date: Sat, 25 Apr 2026 20:36:40 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E6=9B=B4=E6=94=B9isaac=20sim=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index ca6d03e..e49e17e 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -38,10 +38,7 @@ RUN micromamba install -y --prefix /usr -c conda-forge \ ENV ACCEPT_EULA=Y RUN uv pip install --system \ --extra-index-url https://pypi.nvidia.com \ - isaac-sim==5.1.0 \ - isaac-sim-gui==5.1.0 \ - isaac-sim-extscache-physics==5.1.0 \ - isaac-sim-extscache-kit-sdk==5.1.0 + "isaacsim[all,extscache]==5.1.0" # --- 6. 开发环境配置 (Oh My Zsh & Starship) --- USER ${USERNAME} From 93db68a853523c184be5b34b5dad692c8639cdef Mon Sep 17 00:00:00 2001 From: Elaina <1463967532@qq.com> Date: Sat, 25 Apr 2026 20:42:42 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E6=9B=B4=E6=94=B9mamba=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index e49e17e..b4fba27 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -12,7 +12,7 @@ RUN groupadd --gid ${USER_GID} ${USERNAME} \ && rm -rf /var/lib/apt/lists/* # --- 2. 环境变量配置 --- -ENV MAMBA_ROOT_PREFIX=/usr \ +ENV MAMBA_ROOT_PREFIX=/usr/local \ UV_SYSTEM_PYTHON=1 \ ISAACSIM_PATH=/isaac-sim @@ -29,7 +29,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # --- 4. Micromamba 强制安装系统级工具 (禁止环境隔离) --- # 安装 Python 3.11 (Isaac Sim 5.1 必需) 及开发工具到 /usr -RUN micromamba install -y --prefix /usr -c conda-forge \ +RUN micromamba install -y -c conda-forge \ python=3.11 zsh git wget cmake ninja openssh \ && micromamba clean --all --yes From cdd9946d959390c21efdbe13813ac84cf3aef629 Mon Sep 17 00:00:00 2001 From: Elaina <1463967532@qq.com> Date: Sat, 25 Apr 2026 20:48:46 +0800 Subject: [PATCH 04/19] =?UTF-8?q?=E5=B0=86uv=E6=94=B9=E6=88=90micromamba?= =?UTF-8?q?=E5=AE=89=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index b4fba27..408b1b9 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -23,14 +23,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config libglvnd0 libgl1 libglx0 libegl1 libgles2 \ libvulkan1 vulkan-tools libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 \ libwayland-client0 libwayland-cursor0 libwayland-egl1 \ - && curl -LsSf https://astral.sh/uv/install.sh | sh \ && curl -LsSf https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xj -C /usr/bin/ --strip-components=1 bin/micromamba \ && rm -rf /var/lib/apt/lists/* # --- 4. Micromamba 强制安装系统级工具 (禁止环境隔离) --- # 安装 Python 3.11 (Isaac Sim 5.1 必需) 及开发工具到 /usr RUN micromamba install -y -c conda-forge \ - python=3.11 zsh git wget cmake ninja openssh \ + python=3.11 uv\ + zsh git wget cmake ninja openssh \ && micromamba clean --all --yes # --- 5. 使用 UV 安装 Isaac Sim (前置安装) --- From 0e59c771e3aa1a1aec9c4a4715c41fb80831d0e3 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Sat, 25 Apr 2026 22:02:30 +0800 Subject: [PATCH 05/19] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9D=83=E9=99=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index 408b1b9..0aa7943 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -6,11 +6,12 @@ ARG USER_UID=1000 ARG USER_GID=1000 RUN groupadd --gid ${USER_GID} ${USERNAME} \ - && useradd --uid ${USER_UID} --gid ${USER_GID} -m ${USERNAME} \ + && useradd --uid ${USER_UID} --gid ${USER_GID} -G root -m -s /usr/bin/zsh ${USERNAME} \ && apt-get update && apt-get install -y sudo \ && echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \ + && chmod 777 /usr/local \ && rm -rf /var/lib/apt/lists/* - +SHELL ["/bin/bash", "-c", "umask 000 && $0 $@"] # --- 2. 环境变量配置 --- ENV MAMBA_ROOT_PREFIX=/usr/local \ UV_SYSTEM_PYTHON=1 \ @@ -36,12 +37,13 @@ RUN micromamba install -y -c conda-forge \ # --- 5. 使用 UV 安装 Isaac Sim (前置安装) --- # 接受 EULA 环境变量 (根据 NVIDIA 要求) ENV ACCEPT_EULA=Y +USER ${USERNAME} RUN uv pip install --system \ --extra-index-url https://pypi.nvidia.com \ "isaacsim[all,extscache]==5.1.0" # --- 6. 开发环境配置 (Oh My Zsh & Starship) --- -USER ${USERNAME} + WORKDIR /home/${USERNAME} RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended \ From 14475ba62c62fa2b93c15d0243300d3ba345df72 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Sat, 25 Apr 2026 22:07:22 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E6=9D=83=E9=99=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index 0aa7943..1292725 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -10,8 +10,10 @@ RUN groupadd --gid ${USER_GID} ${USERNAME} \ && apt-get update && apt-get install -y sudo \ && echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \ && chmod 777 /usr/local \ + && echo "umask 000" >> /etc/bash.bashrc \ + && echo "umask 000" >> /etc/profile \ && rm -rf /var/lib/apt/lists/* -SHELL ["/bin/bash", "-c", "umask 000 && $0 $@"] +SHELL ["/bin/bash", "-c"] # --- 2. 环境变量配置 --- ENV MAMBA_ROOT_PREFIX=/usr/local \ UV_SYSTEM_PYTHON=1 \ From e11af57b0978460470e213c3dca85992c711df45 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Sat, 25 Apr 2026 22:18:09 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=E6=8A=8Auser=E6=94=BE=E7=AC=AC=E4=B8=80?= =?UTF-8?q?=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index 1292725..a071058 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -10,10 +10,9 @@ RUN groupadd --gid ${USER_GID} ${USERNAME} \ && apt-get update && apt-get install -y sudo \ && echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \ && chmod 777 /usr/local \ - && echo "umask 000" >> /etc/bash.bashrc \ - && echo "umask 000" >> /etc/profile \ && rm -rf /var/lib/apt/lists/* SHELL ["/bin/bash", "-c"] +USER ${USERNAME} # --- 2. 环境变量配置 --- ENV MAMBA_ROOT_PREFIX=/usr/local \ UV_SYSTEM_PYTHON=1 \ From 04404360040acf438a36058c26f1853239554f10 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Sat, 25 Apr 2026 22:22:33 +0800 Subject: [PATCH 08/19] =?UTF-8?q?user=E6=94=BEapt=E5=90=8E=E9=9D=A2=20mamb?= =?UTF-8?q?a=E5=89=8D=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index a071058..c148f73 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -12,7 +12,7 @@ RUN groupadd --gid ${USER_GID} ${USERNAME} \ && chmod 777 /usr/local \ && rm -rf /var/lib/apt/lists/* SHELL ["/bin/bash", "-c"] -USER ${USERNAME} + # --- 2. 环境变量配置 --- ENV MAMBA_ROOT_PREFIX=/usr/local \ UV_SYSTEM_PYTHON=1 \ @@ -27,7 +27,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libwayland-client0 libwayland-cursor0 libwayland-egl1 \ && curl -LsSf https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xj -C /usr/bin/ --strip-components=1 bin/micromamba \ && rm -rf /var/lib/apt/lists/* - +USER ${USERNAME} # --- 4. Micromamba 强制安装系统级工具 (禁止环境隔离) --- # 安装 Python 3.11 (Isaac Sim 5.1 必需) 及开发工具到 /usr RUN micromamba install -y -c conda-forge \ From cab1a4e4574821940ee7f87d86da5094af6e9c9d Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Sat, 25 Apr 2026 22:34:31 +0800 Subject: [PATCH 09/19] =?UTF-8?q?=E5=9C=A8apt=E6=9C=80=E5=90=8E=E6=94=B9?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index c148f73..f33d729 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -9,7 +9,6 @@ RUN groupadd --gid ${USER_GID} ${USERNAME} \ && useradd --uid ${USER_UID} --gid ${USER_GID} -G root -m -s /usr/bin/zsh ${USERNAME} \ && apt-get update && apt-get install -y sudo \ && echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \ - && chmod 777 /usr/local \ && rm -rf /var/lib/apt/lists/* SHELL ["/bin/bash", "-c"] @@ -26,7 +25,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libvulkan1 vulkan-tools libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 \ libwayland-client0 libwayland-cursor0 libwayland-egl1 \ && curl -LsSf https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xj -C /usr/bin/ --strip-components=1 bin/micromamba \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* \ + #给权限!重要 + && chown -R ${USERNAME}:${USER_GID} /usr/local USER ${USERNAME} # --- 4. Micromamba 强制安装系统级工具 (禁止环境隔离) --- # 安装 Python 3.11 (Isaac Sim 5.1 必需) 及开发工具到 /usr From 1b34ac067ac771c71ce8a96adde3fe0d72643365 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Sun, 26 Apr 2026 10:30:35 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=BA=E5=B0=91vulka?= =?UTF-8?q?n=E9=85=8D=E7=BD=AE=EF=BC=8C=E4=BC=98=E5=8C=96=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E5=AF=BC=E8=87=B4=E5=B1=82=E5=8F=98=E5=A4=A7=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index f33d729..82a0db2 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -19,15 +19,28 @@ ENV MAMBA_ROOT_PREFIX=/usr/local \ # --- 3. 安装包管理工具与 GUI 核心依赖 (APT) --- RUN apt-get update && apt-get install -y --no-install-recommends \ - curl ca-certificates tar bzip2 \ - # Isaac Sim GUI 运行必须的系统库 - pkg-config libglvnd0 libgl1 libglx0 libegl1 libgles2 \ + curl ca-certificates tar bzip2 unzip \ + libatomic1 libgomp1 libglib2.0-0 libnghttp2-14 \ + libegl1 libgl1 libglu1-mesa libglx0 libsm6 libxi6 libxrandr2 libxt6 \ + # 渲染与窗口支持 libvulkan1 vulkan-tools libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 \ - libwayland-client0 libwayland-cursor0 libwayland-egl1 \ && curl -LsSf https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xj -C /usr/bin/ --strip-components=1 bin/micromamba \ + && apt-get -y autoremove \ + #清理中间缓存 + && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ #给权限!重要 && chown -R ${USERNAME}:${USER_GID} /usr/local +# --- 合并官方所有驱动配置逻辑 --- +RUN mkdir -p /usr/share/glvnd/egl_vendor.d /etc/vulkan/icd.d /etc/vulkan/implicit_layer.d \ + && printf '{"file_format_version":"1.0.0","ICD":{"library_path":"libEGL_nvidia.so.0"}}\n' > /usr/share/glvnd/egl_vendor.d/10_nvidia.json \ + && printf '{"file_format_version":"1.0.0","ICD":{"library_path":"libEGL_mesa.so.0"}}\n' > /usr/share/glvnd/egl_vendor.d/50_mesa.json \ + && printf '{"file_format_version":"1.0.0","ICD":{"library_path":"libGLX_nvidia.so.0","api_version":"1.3.194"}}\n' > /etc/vulkan/icd.d/nvidia_icd.json \ + && printf '{"file_format_version":"1.0.0","layer":{"name":"VK_LAYER_NV_optimus","type":"INSTANCE","library_path":"libGLX_nvidia.so.0","api_version":"1.3.194","implementation_version":"1","description":"NVIDIA Optimus layer","functions":{"vkGetInstanceProcAddr":"vk_optimusGetInstanceProcAddr","vkGetDeviceProcAddr":"vk_optimusGetDeviceProcAddr"},"enable_environment":{"__NV_PRIME_RENDER_OFFLOAD":"1"},"disable_environment":{"DISABLE_LAYER_NV_OPTIMUS_1":""}}}\n' > /etc/vulkan/implicit_layer.d/nvidia_layers.json +# --- 合并所有相关的环境变量 --- +ENV NVIDIA_VISIBLE_DEVICES=all \ + NVIDIA_DRIVER_CAPABILITIES=all \ + VK_DRIVER_FILES=/etc/vulkan/icd.d/nvidia_icd.json USER ${USERNAME} # --- 4. Micromamba 强制安装系统级工具 (禁止环境隔离) --- # 安装 Python 3.11 (Isaac Sim 5.1 必需) 及开发工具到 /usr @@ -40,7 +53,7 @@ RUN micromamba install -y -c conda-forge \ # 接受 EULA 环境变量 (根据 NVIDIA 要求) ENV ACCEPT_EULA=Y USER ${USERNAME} -RUN uv pip install --system \ +RUN uv pip install --system --no-cache\ --extra-index-url https://pypi.nvidia.com \ "isaacsim[all,extscache]==5.1.0" From 44c3539f2b2669f0e1c2e57ba40d4e2c857e2312 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Sun, 26 Apr 2026 11:16:21 +0800 Subject: [PATCH 11/19] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dzsh=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index 82a0db2..048607a 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -6,7 +6,7 @@ ARG USER_UID=1000 ARG USER_GID=1000 RUN groupadd --gid ${USER_GID} ${USERNAME} \ - && useradd --uid ${USER_UID} --gid ${USER_GID} -G root -m -s /usr/bin/zsh ${USERNAME} \ + && useradd --uid ${USER_UID} --gid ${USER_GID} -G root -m -s /usr/local/bin/zsh ${USERNAME} \ && apt-get update && apt-get install -y sudo \ && echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \ && rm -rf /var/lib/apt/lists/* From 8097ef11b30457c8941a43171d140c6bc110ab44 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Tue, 28 Apr 2026 13:47:36 +0800 Subject: [PATCH 12/19] =?UTF-8?q?=E5=A2=9E=E5=8A=A0issaclab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index 048607a..7bcb754 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -72,5 +72,7 @@ RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master && printf '[username]\nshow_always = true\nstyle_user = "bold #af87ff"\nformat = "[$user]($style) "' > ~/.config/starship.toml # --- 7. 延迟加载 micromamba 索引 (仅保留命令补全,不涉及环境激活) -- +RUN git clone git@github.com:isaac-sim/IsaacLab.git \ + && cd IsaacLab && ./isaaclab.sh --install sb3 rsl_rl CMD ["/usr/bin/zsh"] \ No newline at end of file From ff7098c8b9affc41124e5fa44f2dd86fd6769a3d Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Tue, 28 Apr 2026 13:52:27 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E6=94=B9=E7=94=A8https=20clone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index 7bcb754..8285363 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -72,7 +72,7 @@ RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master && printf '[username]\nshow_always = true\nstyle_user = "bold #af87ff"\nformat = "[$user]($style) "' > ~/.config/starship.toml # --- 7. 延迟加载 micromamba 索引 (仅保留命令补全,不涉及环境激活) -- -RUN git clone git@github.com:isaac-sim/IsaacLab.git \ +RUN git clone https://github.com/isaac-sim/IsaacLab.git \ && cd IsaacLab && ./isaaclab.sh --install sb3 rsl_rl CMD ["/usr/bin/zsh"] \ No newline at end of file From 91b7bfbf95dbdc63fe9429fb5cc0350a215cc50a Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Tue, 28 Apr 2026 14:03:24 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E5=A2=9E=E5=8A=A0yes=E4=BC=A0=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sim/isaac/Dockerfile b/sim/isaac/Dockerfile index a57d530..b73e738 100644 --- a/sim/isaac/Dockerfile +++ b/sim/isaac/Dockerfile @@ -43,7 +43,8 @@ WORKDIR /home/${USERNAME} RUN git clone --depth 1 https://github.com/isaac-sim/IsaacLab.git \ && cd IsaacLab \ && ln -s /isaac-sim _isaac_sim \ - && ./isaaclab.sh --install rsl_rl sb3 + && yes "yes" | ./isaaclab.sh --install rsl_rl sb3 + #把/isaac-sim目录权限改为当前用户,给可执行权限 # RUN chown -R ${USERNAME}:${USER_GID} /isaac-sim\ From 790c32d5ee5d2d4bdc0d76b75df4c1226589ff0b Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Tue, 28 Apr 2026 14:23:01 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E8=BE=93=E5=85=A5yes?= =?UTF-8?q?=E7=9A=84=E5=8A=9E=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/isaac/Dockerfile b/sim/isaac/Dockerfile index b73e738..12ee277 100644 --- a/sim/isaac/Dockerfile +++ b/sim/isaac/Dockerfile @@ -43,7 +43,7 @@ WORKDIR /home/${USERNAME} RUN git clone --depth 1 https://github.com/isaac-sim/IsaacLab.git \ && cd IsaacLab \ && ln -s /isaac-sim _isaac_sim \ - && yes "yes" | ./isaaclab.sh --install rsl_rl sb3 + && printf"yes\n" | ./isaaclab.sh --install rsl_rl sb3 #把/isaac-sim目录权限改为当前用户,给可执行权限 From bf8142b2f26fa5444773b0cad718eac969c7b640 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Tue, 28 Apr 2026 14:23:20 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E9=97=B4=E9=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/isaac/Dockerfile b/sim/isaac/Dockerfile index 12ee277..eef9333 100644 --- a/sim/isaac/Dockerfile +++ b/sim/isaac/Dockerfile @@ -43,7 +43,7 @@ WORKDIR /home/${USERNAME} RUN git clone --depth 1 https://github.com/isaac-sim/IsaacLab.git \ && cd IsaacLab \ && ln -s /isaac-sim _isaac_sim \ - && printf"yes\n" | ./isaaclab.sh --install rsl_rl sb3 + && printf "yes\n" | ./isaaclab.sh --install rsl_rl sb3 #把/isaac-sim目录权限改为当前用户,给可执行权限 From 200bd2726ed64fa190474c576daa9f0945014280 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Tue, 28 Apr 2026 14:40:47 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E6=B2=A1=E6=8B=9B=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E8=B7=B3=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/isaac/Dockerfile b/sim/isaac/Dockerfile index eef9333..ac9ff55 100644 --- a/sim/isaac/Dockerfile +++ b/sim/isaac/Dockerfile @@ -43,7 +43,7 @@ WORKDIR /home/${USERNAME} RUN git clone --depth 1 https://github.com/isaac-sim/IsaacLab.git \ && cd IsaacLab \ && ln -s /isaac-sim _isaac_sim \ - && printf "yes\n" | ./isaaclab.sh --install rsl_rl sb3 + && ./isaaclab.sh --install rsl_rl sb3 || true #把/isaac-sim目录权限改为当前用户,给可执行权限 From 688f9a6b91db2694d2cce31bc9c69307c69bceaa Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Tue, 28 Apr 2026 15:18:30 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E5=A2=9E=E5=8A=A0true?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index 8285363..d7ea8c9 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -73,6 +73,6 @@ RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master # --- 7. 延迟加载 micromamba 索引 (仅保留命令补全,不涉及环境激活) -- RUN git clone https://github.com/isaac-sim/IsaacLab.git \ - && cd IsaacLab && ./isaaclab.sh --install sb3 rsl_rl + && cd IsaacLab && ./isaaclab.sh --install sb3 rsl_rl || true CMD ["/usr/bin/zsh"] \ No newline at end of file From b83e078490ea441e469b912061b75c92f03e9c41 Mon Sep 17 00:00:00 2001 From: nagisa <2964793117@qq.com> Date: Tue, 28 Apr 2026 17:41:54 +0800 Subject: [PATCH 19/19] =?UTF-8?q?=E6=94=B9=E7=94=A8=E8=87=AA=E5=B7=B1?= =?UTF-8?q?=E5=AE=89=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim/isaac-uv/Dockerfile | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sim/isaac-uv/Dockerfile b/sim/isaac-uv/Dockerfile index d7ea8c9..f6af9f9 100644 --- a/sim/isaac-uv/Dockerfile +++ b/sim/isaac-uv/Dockerfile @@ -61,6 +61,20 @@ RUN uv pip install --system --no-cache\ WORKDIR /home/${USERNAME} +#先安装isaac lab +ENV ISAACLAB_PATH=/home/${USERNAME}/IsaacLab + +RUN git clone --depth 1 https://github.com/isaac-sim/IsaacLab.git ${ISAACLAB_PATH} \ + && cd ${ISAACLAB_PATH} \ + # 1. 安装核心构建依赖 (注意去掉了多余的 install) + && uv pip install --system --no-cache "setuptools<82.0.0" \ + # 2. 安装内部扩展模块 + # 注意:在 Docker 生产/运行镜像中,通常去掉 -e 会更稳定,这里保留以符合你脚本逻辑 + && find "${ISAACLAB_PATH}/source" -mindepth 1 -maxdepth 1 -type d -exec uv pip install --system --no-cache -e "{}" \; \ + # 3. 安装 RL 框架支持 + && uv pip install --system --no-cache -e "${ISAACLAB_PATH}/source/isaaclab_rl[sb3,rsl_rl]" + + RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended \ && git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions \ && git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting \ @@ -71,8 +85,5 @@ RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master && mkdir -p ~/.config \ && printf '[username]\nshow_always = true\nstyle_user = "bold #af87ff"\nformat = "[$user]($style) "' > ~/.config/starship.toml -# --- 7. 延迟加载 micromamba 索引 (仅保留命令补全,不涉及环境激活) -- -RUN git clone https://github.com/isaac-sim/IsaacLab.git \ - && cd IsaacLab && ./isaaclab.sh --install sb3 rsl_rl || true CMD ["/usr/bin/zsh"] \ No newline at end of file