Tools for dockerizing package on Isaac Sim
(including port mapping, X11 forwarding)
Convention from: IsaacLab v1.0.0
For more details on isaac-sim docker installation,
refer to: [link]
Note) This package only provides dockerizing kit, not python package itself!
Use on workstation
The workstation should have good performance in terms of GPU utilizations.
See the requiremens: [link]
Prepared X11 forwarding only works when all gpus are given.
Find your own way if you need to designate some GPUs...
default profile: base
available profiles: [base, ros2]
- Launch below script on workstation.
# To use w/o ROS2:
./docker/container.sh start base
./docker/container.sh enter base
# To use with ROS2:
./docker/container.sh start ros2
./docker/container.sh enter ros2- Launch below script on attached docker session.
/isaac-sim/runheadless.native.sh- Stop container when ended
# To use w/o ROS2:
./docker/container.sh stop base
# To use with ROS2:
./docker/container.sh stop ros2Launch simulator on server & streaming on client PC
If you want to use Isaac Sim on server, it would require port mappings and streamings to access GUI.
If you don't need to use GUI attached, just run on headless mode without port mapping.
- Server: [link]
- Client:
- Modify values on
docker/.env.base. - Launch below script on server.
# To use w/o ROS2:
./docker/container.sh start base-mapped
./docker/container.sh enter base-mapped
# To use with ROS2:
./docker/container.sh start ros2-mapped
./docker/container.sh enter ros2-mapped- Launch below script on attached docker session.
/isaac-sim/runheadless.native.sh- Stop container when ended
# To use w/o ROS2:
./docker/container.sh stop base-mapped
# To use with ROS2:
./docker/container.sh stop ros2-mapped- Download & Execute omniverse launcher: [link].
- On 'Exchange' tab, install
omniverse streaming client. - Modify & execute port-forwarding script.
- on Windows:
client/port_forward.ps1 - on Linux:
client/port_forward.sh
- on Windows:
- Launch streaming client on localhost.
Request to Sungwoong Kim!
pyproject.toml, README.md,src/, tests/, scripts/ are bind-mounted so that users can develop their own package based on poetry-convention.
To initialize your own package, modify following files:
pyproject.tomldocker/.env.base->DOCKER_PACKAGE_PATH(path to your package on container)README.md: Modify this README file to your own package's README!src/: locate your package here!tests/: for test codesscripts/: for shell scripts
${DOCKER_PACKAGE_PATH}/scripts/install_package.shTo use your local data, add volumes on docker-compose.yaml.
You can add your volume on "Manual volumes" section.
feel free to leave issues on github / taiga / slack / wherever!