Fail to setup RealSense environment in Docker mode

I’m trying to set up the RealSense environment while following the official manual, but I encountered an error while setting up the ROS environment.

When I run

isaac-ros activate --build-local

, I got the following messages

/home/botamochi/workspaces/isaac_ros-dev
Logged in to nvcr.io/nvidia/isaac/ros. Using this for cache.
['isaac_ros', 'realsense']
Dockerfile created: image_key = isaac_ros
Dockerfile created: image_key = realsense
Error response from daemon: failed to resolve reference "nvcr.io/nvidia/isaac/ros:isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3-amd64": nvcr.io/nvidia/isaac/ros:isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3-amd64: not found
{'target_image_name_': 'nvcr.io/nvidia/isaac/ros:isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3-amd64', 'image_key_order_': ['isaac_ros', 'noble', 'ros2_jazzy', 'realsense', 'gr00t_workflow', 'ur_manipulation', 'franka_manipulation', 'mega_manipulation', 'nova_carter'], 'docker_search_dirs_': ['/etc/isaac-ros-cli/docker'], 'cache_to_registry_names_': [], 'cache_from_registry_names_': ['nvcr.io/nvidia/isaac/ros', ''], 'remote_builder_': None, 'build_args_': {'ISAAC_DEBIAN_KEY_URL': 'https://isaac.download.nvidia.com/isaac-ros/repos.key', 'ISAAC_DEBIAN_REPOSITORY': 'https://isaac.download.nvidia.com/isaac-ros/release-4', 'ISAAC_DEBIAN_COMPONENTS': 'main', 'ISAAC_DEBIAN_DIST': 'noble'}, 'verbose_': False, 'platform_': 'x86_64', 'base_image_': None, 'context_dir_': None, 'common_config_file_': '/etc/isaac-ros-cli/.isaac_ros_common-config', 'context_overrides_': {'isaac_ros': '..', 'noble': '..'}, 's3_cache_': None}
Image key = isaac_ros.realsense
Dockerfile created: image_key = isaac_ros
Dockerfile created: image_key = realsense
Dockerfile: /etc/isaac-ros-cli/docker/Dockerfile.isaac_ros@27b165baad063fef62998c364001a2d9
Dockerfile: /etc/isaac-ros-cli/docker/Dockerfile.realsense@7da9674d8fcff690286b3da0e833d78e


Logged in to nvcr.io/nvidia/isaac/ros. Using this for cache.
cache_from_registry_name: nvcr.io/nvidia/isaac/ros
variable "ISAAC_DEBIAN_KEY_URL" {
  default = "https://isaac.download.nvidia.com/isaac-ros/repos.key"
}

variable "ISAAC_DEBIAN_REPOSITORY" {
  default = "https://isaac.download.nvidia.com/isaac-ros/release-4"
}

variable "ISAAC_DEBIAN_COMPONENTS" {
  default = "main"
}

variable "ISAAC_DEBIAN_DIST" {
  default = "noble"
}

variable "ARCH" {
  default = "x86_64"
}

variable "FILE_ARCH" {
  default = "amd64"
}

variable "CACHE_FROM_REGISTRY" {
  default = "nvcr.io/nvidia/isaac/ros"
}

target "isaac_ros_c1a76866f0754322e3cbe60b628df8f6" {
  context      = "/etc/isaac-ros-cli/docker/.."
  dockerfile   = "/etc/isaac-ros-cli/docker/Dockerfile.isaac_ros"
  tags         = ["nvcr.io/nvidia/isaac/ros/isaac_ros_c1a76866f0754322e3cbe60b628df8f6-amd64:latest"]
  args       = {
    PLATFORM = "amd64",
    ISAAC_DEBIAN_DISTRO_SUFFIX = "",
    ISAAC_ROS_PLATFORM = "amd64",
    ISAAC_DEBIAN_KEY_URL = "https://isaac.download.nvidia.com/isaac-ros/repos.key",
    ISAAC_DEBIAN_REPOSITORY = "https://isaac.download.nvidia.com/isaac-ros/release-4",
    ISAAC_DEBIAN_COMPONENTS = "main",
    ISAAC_DEBIAN_DIST = "noble"
  }
}

target "isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3" {
  context      = "/etc/isaac-ros-cli/docker"
  dockerfile   = "/etc/isaac-ros-cli/docker/Dockerfile.realsense"
  tags         = ["nvcr.io/nvidia/isaac/ros/isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3-amd64:latest"]
  args       = {
    PLATFORM = "amd64",
    ISAAC_DEBIAN_DISTRO_SUFFIX = "",
    ISAAC_ROS_PLATFORM = "amd64",
    BASE_IMAGE = "nvcr.io/nvidia/isaac/ros/isaac_ros_c1a76866f0754322e3cbe60b628df8f6-amd64:latest",
    ISAAC_DEBIAN_KEY_URL = "https://isaac.download.nvidia.com/isaac-ros/repos.key",
    ISAAC_DEBIAN_REPOSITORY = "https://isaac.download.nvidia.com/isaac-ros/release-4",
    ISAAC_DEBIAN_COMPONENTS = "main",
    ISAAC_DEBIAN_DIST = "noble"
  }
  depends_on   = ["isaac_ros_c1a76866f0754322e3cbe60b628df8f6"]
}

target "final_target" {
  dockerfile-inline = "FROM nvcr.io/nvidia/isaac/ros/isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3-amd64:latest"
  tags         = ["nvcr.io/nvidia/isaac/ros:isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3-amd64"]
  depends_on   = ["isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3"]
}


STDERR:
Get "https://nvcr.io/v2/nvidia/isaac/ros/isaac_ros_c1a76866f0754322e3cbe60b628df8f6-amd64/manifests/latest": unknown: {"errors": [{"code": "NAME_INVALID", "message": "Incorrect Repository Format"}]}


STDERR:
Get "https://nvcr.io/v2/nvidia/isaac/ros/isaac_ros-realsense_be0a60ff95f61811577634e6cdaee0d3-amd64/manifests/latest": unknown: {"errors": [{"code": "NAME_INVALID", "message": "Incorrect Repository Format"}]}


docker buildx create --name isaaceks-x86_64
Building image isaac_ros_c1a76866f0754322e3cbe60b628df8f6
#0 building with "default" instance using docker driver

#1 [internal] load local bake definitions
#1 reading /tmp/tmpt_krb0i8/docker-bake.hcl 2.26kB / 2.26kB done
#1 DONE 0.0s
Your build is requesting privileges for following possibly insecure capabilities:

 - Read access to path /etc/isaac-ros-cli

In order to not see this message in the future pass "--allow=fs.read=/etc/isaac-ros-cli" to grant requested privileges.

Your full command with requested privileges:

docker buildx bake --allow=fs.read=/etc/isaac-ros-cli isaac_ros_c1a76866f0754322e3cbe60b628df8f6 --progress=plain --builder default --provenance=false --load --file /tmp/tmpt_krb0i8/docker-bake.hcl

#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile.isaac_ros
#1 transferring dockerfile: 7.16kB done
#1 DONE 0.0s

#2 [auth] nvidia/base/ubuntu:pull token for nvcr.io
#2 DONE 0.0s

#3 [internal] load metadata for nvcr.io/nvidia/base/ubuntu:noble-20251013
#3 DONE 1.4s

#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.0s

#5 [stage-0  1/25] FROM nvcr.io/nvidia/base/ubuntu:noble-20251013@sha256:43fa5063e80fbbc533892af3ccca190868ce48db5a8928b19d7815c40436af8e
#5 resolve nvcr.io/nvidia/base/ubuntu:noble-20251013@sha256:43fa5063e80fbbc533892af3ccca190868ce48db5a8928b19d7815c40436af8e done
#5 DONE 0.0s

#6 [stage-0  3/25] RUN mkdir -p /var/cache/apt/tmp && chmod 1777 /var/cache/apt/tmp &&     echo 'APT::ExtractTemplates::TempDir "/var/cache/apt/tmp";'       > /etc/apt/apt.conf.d/99temp
#6 CACHED

#7 [stage-0  5/25] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked     apt-get update && apt-get install -y         build-essential         ca-certificates         curl         gnupg         lsb-release         gosu         sudo         udev         wget
#7 CACHED

#8 [stage-0  4/25] RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/base-start-packages.csv
#8 CACHED

#9 [stage-0  6/25] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked     k="/usr/share/keyrings/nvidia-isaac-ros.gpg"     && curl -fsSL "https://isaac.download.nvidia.com/isaac-ros/repos.key" | gpg --dearmor | tee -a $k > /dev/null     && f="/etc/apt/sources.list.d/nvidia-isaac-ros.list"     && touch $f     && d="noble"     && if [[ -n "" && "${d}" != *"" ]]; then         d="${d}";     fi     && s="deb [signed-by=$k] https://isaac.download.nvidia.com/isaac-ros/release-4 ${d} main"     && (grep -qxF "$s" $f || echo "$s" | tee -a $f)     && apt-get update
#9 CACHED

#10 [stage-0  2/25] RUN chmod 1777 /tmp
#10 CACHED

#11 [stage-0  7/25] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked     if [[ amd64 == 'arm64' ]]; then         wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/sbsa/cuda-keyring_1.1-1_all.deb;     elif [[ amd64 == 'amd64' ]]; then         wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb;     else         echo "Invalid platform: amd64";         exit 1;     fi &&     dpkg -i cuda-keyring_1.1-1_all.deb
#11 CACHED

#12 [internal] load build context
#12 transferring context: 2.17kB done
#12 DONE 0.0s

#13 [stage-0  8/25] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked     apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc &&     if [[ amd64 == 'arm64' ]]; then         echo 'deb http://repo.download.nvidia.com/jetson/common r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list;     elif [[ amd64 == 'amd64' ]]; then         echo 'deb http://repo.download.nvidia.com/jetson/x86_64/noble r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list;     else         echo "Unrecognized platform: amd64" && exit 1 ;     fi &&     apt-get update
#13 0.113 Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
#13 0.120 Executing: /tmp/apt-key-gpghome.WRhHXv08qo/gpg.1.sh --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc
#13 0.122 gpg: requesting key from 'https://repo.download.nvidia.com/jetson/jetson-ota-public.asc'
#13 0.319 gpg: WARNING: unable to fetch URI https://repo.download.nvidia.com/jetson/jetson-ota-public.asc: Network error
#13 0.319 gpg: key fetch failed: Network error
#13 ERROR: process "/bin/bash -c apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc &&     if [[ ${PLATFORM} == 'arm64' ]]; then         echo 'deb http://repo.download.nvidia.com/jetson/common r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list;     elif [[ ${PLATFORM} == 'amd64' ]]; then         echo 'deb http://repo.download.nvidia.com/jetson/x86_64/noble r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list;     else         echo \"Unrecognized platform: ${PLATFORM}\" && exit 1 ;     fi &&     apt-get update" did not complete successfully: exit code: 2
------
 > [stage-0  8/25] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked     apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc &&     if [[ amd64 == 'arm64' ]]; then         echo 'deb http://repo.download.nvidia.com/jetson/common r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list;     elif [[ amd64 == 'amd64' ]]; then         echo 'deb http://repo.download.nvidia.com/jetson/x86_64/noble r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list;     else         echo "Unrecognized platform: amd64" && exit 1 ;     fi &&     apt-get update:
0.113 Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
0.120 Executing: /tmp/apt-key-gpghome.WRhHXv08qo/gpg.1.sh --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc
0.122 gpg: requesting key from 'https://repo.download.nvidia.com/jetson/jetson-ota-public.asc'
0.319 gpg: WARNING: unable to fetch URI https://repo.download.nvidia.com/jetson/jetson-ota-public.asc: Network error
0.319 gpg: key fetch failed: Network error
------

 1 warning found (use docker --debug to expand):
 - SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "ISAAC_DEBIAN_KEY_URL") (line 40)
Dockerfile.isaac_ros:79
--------------------
  78 |     # Set up Jetson apt repository
  79 | >>> RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
  80 | >>>     apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc && \
  81 | >>>     if [[ ${PLATFORM} == 'arm64' ]]; then \
  82 | >>>         echo 'deb http://repo.download.nvidia.com/jetson/common r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list; \
  83 | >>>     elif [[ ${PLATFORM} == 'amd64' ]]; then \
  84 | >>>         echo 'deb http://repo.download.nvidia.com/jetson/x86_64/noble r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list; \
  85 | >>>     else \
  86 | >>>         echo "Unrecognized platform: ${PLATFORM}" && exit 1 ; \
  87 | >>>     fi && \
  88 | >>>     apt-get update
  89 |     
--------------------
ERROR: failed to solve: process "/bin/bash -c apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc &&     if [[ ${PLATFORM} == 'arm64' ]]; then         echo 'deb http://repo.download.nvidia.com/jetson/common r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list;     elif [[ ${PLATFORM} == 'amd64' ]]; then         echo 'deb http://repo.download.nvidia.com/jetson/x86_64/noble r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list;     else         echo \"Unrecognized platform: ${PLATFORM}\" && exit 1 ;     fi &&     apt-get update" did not complete successfully: exit code: 2
docker buildx rm isaaceks-x86_64
Traceback (most recent call last):
  File "/usr/lib/isaac-ros-cli/run_dev.py", line 710, in <module>
    main()
  File "/usr/lib/isaac-ros-cli/run_dev.py", line 703, in main
    ensure_image_available(
  File "/usr/lib/isaac-ros-cli/run_dev.py", line 635, in ensure_image_available
    build_image_layers(**build_kwargs)
  File "/usr/lib/isaac-ros-cli/build_image_layers.py", line 958, in main
    raise e
  File "/usr/lib/isaac-ros-cli/build_image_layers.py", line 956, in main
    run_shell(build_cmd, capture_output=False, env=env_dict, check=True)
  File "/usr/lib/isaac-ros-cli/build_image_layers.py", line 91, in run_shell
    raise subprocess.CalledProcessError(
subprocess.CalledProcessError: Command 'docker  buildx bake isaac_ros_c1a76866f0754322e3cbe60b628df8f6  --progress=plain  --builder default --provenance=false --load --file /tmp/tmpt_krb0i8/docker-bake.hcl' returned non-zero exit status 1.

The configuration file, config/isaac-ros-cli/config.yaml, follows the instructions.

docker:
  image:
    additional_image_keys:
      - realsense

When I remove the config file, the activation command run successfully.

Does the realsense activation process fail to pull the docker images?

I found the base ROS image on the NVIDIA Registry, but I can’t find the Realsense image. Is the Realsense image publicly available?


Environments:

~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.4 LTS
Release:	24.04
Codename:	noble
~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2026 NVIDIA Corporation
Built on Mon_Mar_02_09:52:23_PM_PST_2026
Cuda compilation tools, release 13.2, V13.2.51
Build cuda_13.2.r13.2/compiler.37434383_0
~$ docker --version
Docker version 29.3.1, build c2be9cc

Hello @botamochi6277_nvidia,

Thanks for sharing the complete log. Your environment matches the documented Isaac ROS 4.6 x86 requirements and your RealSense configuration is correct.
However, adding the realsense image key causes Isaac ROS CLI to build the combined image locally when the exact image is not found in the NGC cache. This exposes a failure in the Jetson repository setup step in Dockerfile.isaac_ros.
Without the RealSense configuration, the base Isaac ROS image can be reused from the local or public cache, so that step is skipped.

As a temporary workaround, first back up and edit Dockerfile.isaac_ros as below,

sudo cp \
/etc/isaac-ros-cli/docker/Dockerfile.isaac_ros \
/etc/isaac-ros-cli/docker/Dockerfile.isaac_ros.bak

# Then edit it
sudoedit /etc/isaac-ros-cli/docker/Dockerfile.isaac_ros

Replace the whole “Set up Jetson apt repository” block with below modification.

# Set up Jetson apt repository
  RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
      curl -fsSL --retry 3 \
          https://repo.download.nvidia.com/jetson/jetson-ota-public.asc \
          -o /tmp/jetson-ota-public.asc && \
      gpg --dearmor --yes \
          -o /usr/share/keyrings/nvidia-jetson.gpg \
          /tmp/jetson-ota-public.asc && \
      if [[ ${PLATFORM} == 'arm64' ]]; then \
          echo 'deb [signed-by=/usr/share/keyrings/nvidia-jetson.gpg]
          http://repo.download.nvidia.com/jetson/common r39.2 main' >
          /etc/apt/sources.list.d/nvidia-jetson-apt-source.list; \
      elif [[ ${PLATFORM} == 'amd64' ]]; then \
          echo 'deb [signed-by=/usr/share/keyrings/nvidia-jetson.gpg]
          http://repo.download.nvidia.com/jetson/x86_64/noble r39.2 main' >
          /etc/apt/sources.list.d/nvidia-jetson-apt-source.list; \
      else \
          echo "Unrecognized platform: ${PLATFORM}" && exit 1; \
      fi && \
      apt-get update

Then retry:

isaac-ros activate --build-local

Please let us know whether the build completes. If it still fails, please also share the installed CLI version:

dpkg-query -W isaac-ros-cli

Note that this is a temporary modification to the installed Dockerfile and may be overwritten by a future isaac-ros-cli package update.

Thank you for quick responding.

I edited the Dockerfile and retried to build.

I succeeded to build, and a realsense docker container started running.

botamochi@mypc: ~$ isaac-ros activate --build-local 
admin@mypc:/workspaces/isaac_ros-dev$ 

The responded RUN steps include invalid new lines. I fixed theses and finally the dockerfile is

# Copyright (c) 2025-2026, NVIDIA CORPORATION.  All rights reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto.  Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.

FROM nvcr.io/nvidia/base/ubuntu:noble-20251013

ARG PLATFORM=amd64

# Set up /tmp permissions for apt-get/apt-key
RUN chmod 1777 /tmp
RUN mkdir -p /var/cache/apt/tmp && chmod 1777 /var/cache/apt/tmp && \
    echo 'APT::ExtractTemplates::TempDir "/var/cache/apt/tmp";' \
      > /etc/apt/apt.conf.d/99temp

# Store list of packages (must be first)
RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/base-start-packages.csv

ENV DEBIAN_FRONTEND=noninteractive
ENV SHELL=/bin/bash
SHELL ["/bin/bash", "-c"]

# Common utilities
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
    apt-get update && apt-get install -y \
        build-essential \
        ca-certificates \
        curl \
        gnupg \
        lsb-release \
        gosu \
        sudo \
        udev \
        wget

# Isaac ROS apt repository configuration
ARG ISAAC_DEBIAN_KEY_URL="https://isaac.download.nvidia.com/isaac-ros/repos.key"
ARG ISAAC_DEBIAN_REPOSITORY="https://isaac.download.nvidia.com/isaac-ros/release-4"
ARG ISAAC_DEBIAN_DIST=""
ARG ISAAC_DEBIAN_COMPONENTS="main"
ARG ISAAC_DEBIAN_DISTRO_SUFFIX=""

# isaac-ros-cli configuration (override via --build-arg in CI)
ARG ISAAC_ROS_PLATFORM=""

# Set up Isaac ROS apt repository
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
    k="/usr/share/keyrings/nvidia-isaac-ros.gpg" \
    && curl -fsSL "${ISAAC_DEBIAN_KEY_URL}" | gpg --dearmor | tee -a $k > /dev/null \
    && f="/etc/apt/sources.list.d/nvidia-isaac-ros.list" \
    && touch $f \
    && d="${ISAAC_DEBIAN_DIST:-$(lsb_release -cs)}" \
    && if [[ -n "${ISAAC_DEBIAN_DISTRO_SUFFIX}" && "${d}" != *"${ISAAC_DEBIAN_DISTRO_SUFFIX}" ]]; then \
        d="${d}${ISAAC_DEBIAN_DISTRO_SUFFIX}"; \
    fi \
    && s="deb [signed-by=$k] ${ISAAC_DEBIAN_REPOSITORY} ${d} ${ISAAC_DEBIAN_COMPONENTS}" \
    && (grep -qxF "$s" $f || echo "$s" | tee -a $f) \
    && apt-get update

# Set up CUDA apt repository
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
    if [[ ${PLATFORM} == 'arm64' ]]; then \
        wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/sbsa/cuda-keyring_1.1-1_all.deb; \
    elif [[ ${PLATFORM} == 'amd64' ]]; then \
        wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb; \
    else \
        echo "Invalid platform: ${PLATFORM}"; \
        exit 1; \
    fi && \
    dpkg -i cuda-keyring_1.1-1_all.deb

# Ensure CUDA, NVIDIA, and TensorRT binaries are available in PATH
ENV PATH="/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/src/tensorrt/bin:${PATH}"

# Set up Jetson apt repository (original)
#RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
#    apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc && \
#    if [[ ${PLATFORM} == 'arm64' ]]; then \
#        echo 'deb http://repo.download.nvidia.com/jetson/common r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list; \
#    elif [[ ${PLATFORM} == 'amd64' ]]; then \
#        echo 'deb http://repo.download.nvidia.com/jetson/x86_64/noble r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list; \
#    else \
#        echo "Unrecognized platform: ${PLATFORM}" && exit 1 ; \
#    fi && \
#    apt-get update

# Set up Jetson apt repository (fixed)
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
      curl -fsSL --retry 3 \
          https://repo.download.nvidia.com/jetson/jetson-ota-public.asc \
          -o /tmp/jetson-ota-public.asc && \
      gpg --dearmor --yes \
          -o /usr/share/keyrings/nvidia-jetson.gpg \
          /tmp/jetson-ota-public.asc && \
      if [[ ${PLATFORM} == 'arm64' ]]; then \
          echo 'deb [signed-by=/usr/share/keyrings/nvidia-jetson.gpg] http://repo.download.nvidia.com/jetson/common r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list; \
      elif [[ ${PLATFORM} == 'amd64' ]]; then \
          echo 'deb [signed-by=/usr/share/keyrings/nvidia-jetson.gpg] http://repo.download.nvidia.com/jetson/x86_64/noble r39.2 main' > /etc/apt/sources.list.d/nvidia-jetson-apt-source.list; \
      else \
          echo "Unrecognized platform: ${PLATFORM}" && exit 1; \
      fi && \
      apt-get update


# Set up ROS apt repository
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
    curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.1.0/ros2-apt-source_1.1.0.noble_all.deb" \
    && dpkg -i /tmp/ros2-apt-source.deb

# Install ROS 2 base and tools
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
    apt-get update && apt-get install -y \
        ros-jazzy-ros-base \
        python3-colcon-common-extensions \
        python3-rosdep

# Add ROS setup to bashrc
RUN echo "source /opt/ros/jazzy/setup.bash" | sudo tee --append /etc/bash.bashrc

# Colcon auto complete
RUN echo "source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash" | sudo tee --append /etc/bash.bashrc

# Setup rosdep
COPY docker/rosdep/extra_rosdeps.yaml /etc/ros/rosdep/sources.list.d/nvidia-isaac.yaml
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
    rosdep init \
    && echo "yaml file:///etc/ros/rosdep/sources.list.d/nvidia-isaac.yaml" | tee /etc/ros/rosdep/sources.list.d/00-nvidia-isaac.list \
    && rosdep update

# Install Isaac ROS CLI. Source builds can stage one local Debian package in
# .docker-deb-overrides/; packaged and public rebuilds install it from apt.
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
    --mount=type=bind,source=.,target=/opt/isaac-ros-cli-context,readonly \
    set -e \
    && shopt -s nullglob \
    && local_debs=(/opt/isaac-ros-cli-context/.docker-deb-overrides/isaac-ros-cli_*.deb) \
    && if (( ${#local_debs[@]} > 1 )); then \
        printf 'Expected at most one local isaac-ros-cli Debian, found %s\n' "${#local_debs[@]}" >&2; \
        exit 1; \
    elif (( ${#local_debs[@]} == 1 )); then \
        printf '\nWARNING: Installing local Isaac ROS CLI Debian override:\n  %s\n' "${local_debs[0]}"; \
        printf 'Package version: '; dpkg-deb -f "${local_debs[0]}" Version; \
        printf 'sha256: '; sha256sum "${local_debs[0]}"; \
        cp "${local_debs[0]}" /tmp/isaac-ros-cli.deb; \
        apt-get update; \
        ISAAC_ROS_PLATFORM="${ISAAC_ROS_PLATFORM}" \
            apt-get install -y /tmp/isaac-ros-cli.deb; \
        rm /tmp/isaac-ros-cli.deb; \
    else \
        printf 'Installing isaac-ros-cli from configured apt repositories.\n'; \
        apt-get update; \
        ISAAC_ROS_PLATFORM="${ISAAC_ROS_PLATFORM}" \
            apt-get install -y isaac-ros-cli; \
    fi

# Override Isaac ROS CLI environment configuration
COPY docker/patches/docker-environment.conf /etc/isaac-ros-cli/environment.conf

# Specify non-root admin user for container
ARG USERNAME=admin
ENV USERNAME=${USERNAME}

# Copy scripts
RUN mkdir -p /usr/local/bin/scripts
COPY docker/scripts/*entrypoint.sh /usr/local/bin/scripts/
RUN chmod +x /usr/local/bin/scripts/*.sh || true

# Copy script additions
RUN mkdir -p /usr/local/bin/scripts/entrypoint_additions
COPY docker/scripts/entrypoint_addition[s]/*.sh /usr/local/bin/scripts/entrypoint_additions/
RUN chmod +x /usr/local/bin/scripts/entrypoint_additions/*.sh || true

# Copy middleware profiles
RUN mkdir -p /usr/local/share/middleware_profiles
COPY docker/middleware_profile[s]/*profile.xml /usr/local/share/middleware_profiles/

# Store list of packages (must be last)
RUN mkdir -p /opt/nvidia/isaac_ros_dev_base && dpkg-query -W | sort > /opt/nvidia/isaac_ros_dev_base/base-end-packages.csv

Thank you for helping to fix.

The docker container is running, however it cannot detect a RealSense device.

admin@mypc:/workspaces/isaac_ros-dev$ rs-enumerate-devices
 27/08 15:19:49,973 ERROR [140296520564736] (handle-libusb.h:53) failed to open usb interface: 0, error: RS2_USB_STATUS_NO_DEVICE
 27/08 15:19:49,974 ERROR [140296545775616] (uvc-sensor.cpp:428) acquire_power failed: failed to set power state
 27/08 15:19:49,974 ERROR [140296545775616] (rs.cpp:256) [rs2_create_device( info_list:0x5ddb0e3e4ff0, index:0 ) UNKNOWN] failed to set power state
 27/08 15:19:49,974 ERROR [140296545775616] (rs.cpp:256) [rs2_delete_device( device:nullptr ) UNKNOWN] null pointer passed for argument "device"
Could not create device - failed to set power state . Check SDK logs for details
No device detected. Is it plugged in?

I checked the container status:

botamochi@mypc:~$ docker ps
CONTAINER ID   IMAGE                                                                                 COMMAND                  CREATED          STATUS          PORTS     NAMES
b01f0c9176c3   nvcr.io/nvidia/isaac/ros:isaac_ros-realsense_ef4e4728117c0a502a064d2997d8f59a-amd64   "/usr/local/bin/scri…"   44 minutes ago   Up 44 minutes             isaac_ros_dev_container
botamochi@mypc:~$ docker inspect b01f0c9176c3
[
    {
        "Id": "b01f0c9176c33c660e90611bdd9b36d2cbc62099a67feb941adf2eb577e762d6",
        "Created": "2026-08-27T01:57:54.587322162Z",
        "Path": "/usr/local/bin/scripts/workspace-entrypoint.sh",
        "Args": [
            "/bin/bash"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 46415,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2026-08-27T01:57:54.916145045Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:2e9dc6ec76950c2276e97b59f151dd4965cca6bc86471fb9c65c891209569ab8",
        "ResolvConfPath": "/var/lib/docker/containers/b01f0c9176c33c660e90611bdd9b36d2cbc62099a67feb941adf2eb577e762d6/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/b01f0c9176c33c660e90611bdd9b36d2cbc62099a67feb941adf2eb577e762d6/hostname",
        "HostsPath": "/var/lib/docker/containers/b01f0c9176c33c660e90611bdd9b36d2cbc62099a67feb941adf2eb577e762d6/hosts",
        "LogPath": "/var/lib/docker/containers/b01f0c9176c33c660e90611bdd9b36d2cbc62099a67feb941adf2eb577e762d6/b01f0c9176c33c660e90611bdd9b36d2cbc62099a67feb941adf2eb577e762d6-json.log",
        "Name": "/isaac_ros_dev_container",
        "RestartCount": 0,
        "Driver": "overlayfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "unconfined",
        "ExecIDs": [
            "8520dd0c8d7e7d84c7945c6c448542502d550f22816dfdcd094b0d3f87ee1892"
        ],
        "HostConfig": {
            "Binds": [
                "/home/botamochi/.cache:/home/admin/.cache",
                "/home/botamochi/.config:/home/admin/.config",
                "/home/botamochi/workspaces/isaac_ros-dev:/workspaces/isaac_ros-dev",
                "/home/botamochi/.Xauthority:/home/admin/.Xauthority:rw",
                "/home/botamochi/.ssh:/home/admin/.ssh:ro",
                "/home/botamochi/.gitconfig:/home/admin/.gitconfig",
                "/home/botamochi/.bash_history:/home/admin/.bash_history",
                "/etc/localtime:/etc/localtime:ro",
                "/tmp/.X11-unix:/tmp/.X11-unix",
                "/home/botamochi/.bashrc:/home/admin/.bashrc:ro",
                "/home/botamochi/.profile:/home/admin/.profile:ro",
                "/home/botamochi/.aws:/home/admin/.aws:ro"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "host",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": true,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                50,
                161
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "host",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": true,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": [
                "label=disable"
            ],
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": [],
            "BlkioDeviceWriteBps": [],
            "BlkioDeviceReadIOps": [],
            "BlkioDeviceWriteIOps": [],
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": [
                {
                    "Driver": "",
                    "Count": -1,
                    "DeviceIDs": null,
                    "Capabilities": [
                        [
                            "gpu"
                        ]
                    ],
                    "Options": {}
                }
            ],
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": [],
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": null,
            "ReadonlyPaths": null
        },
        "Storage": {
            "RootFS": {
                "Snapshot": {
                    "Name": "overlayfs"
                }
            }
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/botamochi/.cache",
                "Destination": "/home/admin/.cache",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/.Xauthority",
                "Destination": "/home/admin/.Xauthority",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/.gitconfig",
                "Destination": "/home/admin/.gitconfig",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/.bash_history",
                "Destination": "/home/admin/.bash_history",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/etc/localtime",
                "Destination": "/etc/localtime",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/.bashrc",
                "Destination": "/home/admin/.bashrc",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/.profile",
                "Destination": "/home/admin/.profile",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/.config",
                "Destination": "/home/admin/.config",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/workspaces/isaac_ros-dev",
                "Destination": "/workspaces/isaac_ros-dev",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/.ssh",
                "Destination": "/home/admin/.ssh",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/tmp/.X11-unix",
                "Destination": "/tmp/.X11-unix",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/botamochi/.aws",
                "Destination": "/home/admin/.aws",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "mypc",
            "Domainname": "",
            "User": "",
            "AttachStdin": true,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": true,
            "Env": [
                "FORCE_COLOR=true",
                "ISAAC_ROS_PLATFORM=amd64",
                "ROS_DOMAIN_ID",
                "HOST_USER_GID=1001",
                "NO_PROXY=127.0.0.0/8",
                "COLORTERM=truecolor",
                "NVIDIA_VISIBLE_DEVICES=all",
                "NVIDIA_DRIVER_CAPABILITIES=all",
                "TERM=xterm-256color",
                "DISPLAY=:1",
                "USER=botamochi",
                "ISAAC_ROS_WS=/workspaces/isaac_ros-dev",
                "no_proxy=127.0.0.0/8",
                "HOST_USER_UID=1023",
                "PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/src/tensorrt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "SHELL=/bin/bash",
                "USERNAME=admin",
                "ROS_DISTRO=jazzy",
                "ROS_ROOT=/opt/ros/jazzy"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "Image": "nvcr.io/nvidia/isaac/ros:isaac_ros-realsense_ef4e4728117c0a502a064d2997d8f59a-amd64",
            "Volumes": null,
            "WorkingDir": "/workspaces/isaac_ros-dev",
            "Entrypoint": [
                "/usr/local/bin/scripts/workspace-entrypoint.sh"
            ],
            "Labels": {
                "org.opencontainers.image.ref.name": "ubuntu",
                "org.opencontainers.image.version": "24.04"
            }
        },
        "NetworkSettings": {
            "SandboxID": "1f31e568c67eddbc56c1f59c3a78b84a54ca435ea27dcce5aa9c0419d0df74df",
            "SandboxKey": "/var/run/docker/netns/default",
            "Ports": {},
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "DriverOpts": null,
                    "GwPriority": 0,
                    "NetworkID": "644a1a56de48673d776e792d4865bab2d91799aa88478fb3d0729d1c270f9f25",
                    "EndpointID": "4648b2dbb5cf24506a910e7b1b5309c870798e0aef06cc1222698c72a5deee96",
                    "Gateway": "",
                    "IPAddress": "",
                    "MacAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",This container looks having no volume binding to devicesThis container looks having no volume binding to devicesThis container looks having no volume binding to devices
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": null
                }
            }
        },
        "ImageManifestDescriptor": {
            "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
            "digest": "sha256:2e9dc6ec76950c2276e97b59f151dd4965cca6bc86471fb9c65c891209569ab8",
            "size": 6986,
            "annotations": {
                "config.digest": "sha256:9eba869d590361384dca2df452b072295e64c5803a34505f9eececc6c9f192c7"
            },
            "platform": {
                "architecture": "amd64",
                "os": "linux"
            }
        }
    }
]

It appears that this container is not bound to any device.

The official setup requires installing the udev rule on the host and plugging in the camera before activation. Please check the instructions in the Isaac ROS 4.6 RealSense setup.

Verify that the host detects the camera before you launch the container:

lsusb
ls -l /dev/bus/usb
ls -l /etc/udev/rules.d/99-realsense-libusb.rules

Confirm that the RealSense camera appears in lsusb.
If the udev rule is installed, reload it and reconnect the camera to a USB 3 port:

sudo udevadm control --reload-rules
sudo udevadm trigger

Since your existing container cannot receive a new mount after it has started, so exit it or stop it first. Keep the camera connected, then create a new container again: isaac-ros activate

Inside the newly created container, run:

ls -l /dev/bus/usb
rs-enumerate-devices
Also try sudo rs-enumerate-devices inside the container. If that works while the normal command fails, the remaining problem is the host udev permissions.

If it still fails, please share these results from the host:

lsusb -t
ls -l /dev/bus/usb//
sudo dmesg --ctime | tail -100

After rebooting, I succeeded to run rs-enumerate-devices and realsense viewer

Thank you for your help