Pull the docker container
docker pull ghcr.io/kalanaratnayake/jetson-ros:humble-core-r32.7.1
Build the docker container
docker buildx build --load --platform linux/arm64 -f ros-images/r3271.humble_core.Dockerfile -t jetson-ros:humble-core-r32.7.1 .
or build with cache locally and push when image compilation can be slow on github actions and exceeds 6rs
docker buildx build --push \
--platform linux/arm64 \
--cache-from=type=registry,ref=ghcr.io/kalanaratnayake/jetson-ros:humble-ros-core-r32.7.1-buildcache \
--cache-to=type=registry,ref=ghcr.io/kalanaratnayake/jetson-ros:humble-ros-core-r32.7.1-buildcache,mode=max \
-f ros-images/r3271.humble_core.Dockerfile \
-t ghcr.io/kalanaratnayake/jetson-ros:humble-core-r32.7.1 .
Start the docker container
docker run --rm -it --runtime nvidia --network host --gpus all -e DISPLAY ghcr.io/kalanaratnayake/jetson-ros:humble-core-r32.7.1 bash
Run the following commands inside the docker container to confirm that the container is working properly
ros2 run demo_nodes_cpp talker
Run the following commands on another instance of ros container or another Computer/Jetson device installed with ROS humble to check connectivity over host network and discoverability (while the above command is running).
ros2 run demo_nodes_py listener