This repository provides a Docker container for ROS2 Jazzy that includes KasmVNC, allowing users to access the Xfce desktop environment via HTTPS for running simulations and other ROS2 applications.
- Ubuntu 24.04 Docker container with ROS2 Jazzy pre-installed.
- KasmVNC for desktop access within the container.
- Xfce Desktop accessible via port 6901. (https://localhost:6901 user:
kasm_user
password:password
.) - Scripts to build, run, attach, stop, and remove the container and image.
- Docker installed on your system (Install Docker).
- Recommended: NVIDIA GPU with drivers and NVIDIA Container Toolkit for hardware acceleration (optional).
File | Description |
---|---|
pxl_ros2_jazzy_image |
Directory containing Docker image files. |
001_build_pxl_ros2_jazzy_image.sh |
Builds the Docker image. |
002_run_pxl_ros2_jazzy_container.sh |
Runs the container from the built image. |
003_attach_bash_to_pxl_ros2_jazzy_container.sh |
Opens a Bash shell inside the running container. |
997_stop_pxl_ros2_jazzy_container.sh |
Stops the running container. |
998_remove_pxl_ros2_jazzy_container.sh |
Removes the stopped container. |
999_remove_pxl_ros2_jazzy_image.sh |
Removes the built Docker image. |
git clone https://github.com/PXLAIRobotics/ROS2JazzyDocker.git
cd ROS2JazzyDocker
./001_build_pxl_ros2_jazzy_image.sh
./002_run_pxl_ros2_jazzy_container.sh
./003_attach_bash_to_pxl_ros2_jazzy_container.sh
./997_stop_pxl_ros2_jazzy_container.sh
./998_remove_pxl_ros2_jazzy_container.sh
./999_remove_pxl_ros2_jazzy_image.sh
After running the container, you can access the KasmVNC desktop by opening a web browser and navigating to:
https://localhost:6901
Default login credentials:
- Username:
kasm_user
- Password:
password
To verify that ROS2 Jazzy is running correctly, follow these steps:
Open a terminal by clicking the Applications
menu in the top left corner and selecting Terminal Emulator
.
Run the following command to start an example ROS 2 node:
ros2 run example_package example_node
If everything is set up correctly, you should see output similar to:
Hi from example_package.
This confirms that ROS 2 is properly installed and functional within the container.
Below are screenshots showcasing the usage of this ROS 2 Jazzy Docker container:
- Modify the
Dockerfile
inpxl_ros2_jazzy_image
to add additional dependencies. - Update the scripts to configure network settings, volumes, or GPU access.
Feel free to fork this repository and submit pull requests for improvements or additional features.
This project is licensed under the MIT License - see the LICENSE file for details.
This project includes code from third-party sources:
- Kasm Technologies
- The
src/
directory inpxl_ros2_jazzy_image/
is a direct copy from Kasm Technologies' repository. - Portions of Kasm Technologies' code are also used in the
Dockerfile
with modifications. - Their original MIT license is retained in
pxl_ros2_jazzy_image/src/LICENSE
.
- The
All third-party code follows their respective licenses.
Maintained by Tim Dupont (GitHub Profile).
Special thanks to:
- Kasm Technologies for developing KasmVNC, enabling seamless remote desktop access.
- Open Source Robotics Foundation (OSRF) for their continued work on ROS2.
- Intel, Willow Garage, Itseez, and the OpenCV community for developing and maintaining OpenCV, a powerful computer vision library widely used in robotics and AI.
- Canonical for maintaining Ubuntu, the foundation of this Docker container.
- The broader open-source communities that contribute to these technologies and make innovation possible.