This webpage is directly generated from the README of j3soon/docker-isaac-sim. Please refer to the repository for additional information such as the Dockerfiles.
Unofficial minimal dockerfile for Isaac Sim.
For running Isaac Sim/Lab with Singularity/Apptainer, please refer to j3soon/singularity-isaac-sim for more details.
This is often useful in scenarios when you are using a custom base image and want to install Isaac Sim in it. For an example, one may want to use a custom base image for ROS2 and install Isaac Sim in it.
Before diving into the unofficial docker images, let's first see how to use the official images.
For using the official Isaac Sim docker images, please follow the official guide, the commands should be something like below.
Headless mode:
dockerpullnvcr.io/nvidia/isaac-sim:4.5.0
dockerrun--nameisaac-sim--entrypointbash-it--gpusall-e"ACCEPT_EULA=Y"--rm--network=host\-e"PRIVACY_CONSENT=Y"\-v~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw\-v~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw\-v~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw\-v~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw\-v~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw\-v~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw\-v~/docker/isaac-sim/data:/root/.local/share/ov/data:rw\-v~/docker/isaac-sim/documents:/root/Documents:rw\nvcr.io/nvidia/isaac-sim:4.5.0
# in the container./runheadless.sh
For using WebRTC streaming, wait until the streaming is ready, you should see something like this:
Note that the URL must contain the IP address of the host machine, not the host/domain name.
GUI mode:
dockerpullnvcr.io/nvidia/isaac-sim:4.5.0
xhost+local:docker
dockerrun--nameisaac-sim--entrypointbash-it--gpusall-e"ACCEPT_EULA=Y"--rm--network=host\-e"PRIVACY_CONSENT=Y"\-v~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw\-v~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw\-v~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw\-v~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw\-v~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw\-v~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw\-v~/docker/isaac-sim/data:/root/.local/share/ov/data:rw\-v~/docker/isaac-sim/documents:/root/Documents:rw\-v$(pwd):/workspace\-eDISPLAY=$DISPLAY\-v/tmp/.X11-unix:/tmp/.X11-unix\-v$HOME/.Xauthority:/root/.Xauthority\nvcr.io/nvidia/isaac-sim:4.5.0
# in the container./runapp.sh
Note that pip install Isaac Sim is still in experimental stage. Personally, I have used this method in j3soon/ros2-essentials and have not encountered any issues with it yet.
Build or pull image:
# build the preferred versiondockerbuild-fDockerfile_isaacsim_5_0_pip-tj3soon/isaac-sim-pip:5.0.
dockerbuild-fDockerfile_isaacsim_4_5_pip-tj3soon/isaac-sim-pip:4.5.
dockerbuild-fDockerfile_isaacsim_4_2_pip-tj3soon/isaac-sim-pip:4.2.
dockerbuild-fDockerfile_isaacsim_4_1_pip-tj3soon/isaac-sim-pip:4.1.
dockerbuild-fDockerfile_isaacsim_4_0_pip-tj3soon/isaac-sim-pip:4.0.
# or pull the preferred versiondockerpullj3soon/isaac-sim-pip:5.0
dockerpullj3soon/isaac-sim-pip:4.5
dockerpullj3soon/isaac-sim-pip:4.2
dockerpullj3soon/isaac-sim-pip:4.1
dockerpullj3soon/isaac-sim-pip:4.0
xhost+local:docker
ISAAC_SIM_VERSION=4.2
dockerrun--rm-it--runtime=nvidia--gpusall--network=host\-v~/docker/isaac-sim-pip/cache/kit:/usr/local/lib/python3.10/site-packages/omni/cache:rw\-v~/docker/isaac-sim-pip/cache/ov:/root/.cache/ov:rw\-v~/docker/isaac-sim-pip/cache/pip:/root/.cache/pip:rw\-v~/docker/isaac-sim-pip/cache/glcache:/root/.cache/nvidia/GLCache:rw\-v~/docker/isaac-sim-pip/cache/computecache:/root/.nv/ComputeCache:rw\-v~/docker/isaac-sim-pip/logs:/root/.nvidia-omniverse/logs:rw\-v~/docker/isaac-sim-pip/data:/root/.local/share/ov/data:rw\-v~/docker/isaac-sim-pip/documents:/root/Documents:rw\-v$(pwd):/workspace\-eDISPLAY=$DISPLAY\-v/tmp/.X11-unix:/tmp/.X11-unix\-v$HOME/.Xauthority:/root/.Xauthority\-v/dev/shm:/dev/shm\j3soon/isaac-sim-pip:${ISAAC_SIM_VERSION}# in the container# For Isaac Sim 4.0 to 4.2, run:isaacsimomni.isaac.sim
# or WebRTC streaming:isaacsimomni.isaac.sim.headless.webrtc--no-window
For Isaac Sim 4.5, run the following instead:
isaacsimisaacsim.exp.full
# or WebRTC streaming:isaacsimisaacsim.exp.full.streaming--no-window
The slight difference in cache directories between the official Docker image and the pip-installed version is observed by comparing the logs of the Isaac Sim instance in both environments.
To test the ros2 bridge in Isaac Sim, click Isaac Utils > Common Omnigraphs > ROS2 Clock in the menu and click OK. Click the play button, and run the following in a new terminal:
dockerrun--rm-it--network=host-v/dev/shm:/dev/shmosrf/ros:humble-desktop-fullbash
# in the containerros2topiclist
ros2topicecho/clock
Please note that the ROS2 bridge is not working in Isaac Sim 4.5.0 yet. We're currently working on this issue.
Starting from Isaac Sim 4.5.0, the Isaac Sim binary installation is supported.
Build or pull image:
# build the preferred versiondockerbuild-fDockerfile_isaacsim_5_0_bin-tj3soon/isaac-sim-bin:5.0.
dockerbuild-fDockerfile_isaacsim_5_0_bin_user-tj3soon/isaac-sim-bin:5.0-user.
dockerbuild-fDockerfile_isaacsim_4_5_bin-tj3soon/isaac-sim-bin:4.5.
dockerbuild-fDockerfile_isaacsim_4_5_bin_user-tj3soon/isaac-sim-bin:4.5-user.
# or pull the preferred versiondockerpullj3soon/isaac-sim-bin:5.0
dockerpullj3soon/isaac-sim-bin:5.0-user
dockerpullj3soon/isaac-sim-bin:4.5
dockerpullj3soon/isaac-sim-bin:4.5-user
xhost+local:docker
ISAAC_SIM_VERSION=5.0
# TODO: Set USER_MODE to 1 for using image with UID 1000 instead of root.# USER_MODE=1dockerrun--rm-it--runtime=nvidia--gpusall--network=host\-v~/docker/isaac-sim-bin/cache/kit:/root/isaac-sim/kit/cache:rw\-v~/docker/isaac-sim-bin/cache/ov:/root/.cache/ov:rw\-v~/docker/isaac-sim-bin/cache/pip:/root/.cache/pip:rw\-v~/docker/isaac-sim-bin/cache/glcache:/root/.cache/nvidia/GLCache:rw\-v~/docker/isaac-sim-bin/cache/computecache:/root/.nv/ComputeCache:rw\-v~/docker/isaac-sim-bin/logs:/root/.nvidia-omniverse/logs:rw\-v~/docker/isaac-sim-bin/data:/root/.local/share/ov/data:rw\-v~/docker/isaac-sim-bin/documents:/root/Documents:rw\-v$(pwd):/workspace\-eDISPLAY=$DISPLAY\-v/tmp/.X11-unix:/tmp/.X11-unix\-v$HOME/.Xauthority:/root/.Xauthority\-v/dev/shm:/dev/shm\j3soon/isaac-sim-bin:${ISAAC_SIM_VERSION}${USER_MODE:+-user}# in the container~/isaacsim/isaac-sim.sh
# or WebRTC streaming:~/isaacsim/isaac-sim.streaming.sh
With user mode on, you should be able to run all Isaac ROS's Isaac Sim tutorials with ease, without having to manually install Isaac Sim on your host machine.