This dockerized environment provides:
Run setup with:
docker compose up
The noVNC GUI is available at http://localhost:8080/vnc.html.
To wipe the docker environment:
docker compose down -v
To change the ROS distribution, change the
ROS_DISTROvalue in.env
To to freshly build the docker image change from:
image: ghcr.io/davidelanz/ros1_${ROS_DISTRO}_dockerto:
build: dockerfile: ./Dockerfileand use:
docker compose up --build
The catkin workspace catkin_ws is in the catkin_ws docker compose container at /root/catkin_ws/.

Catkin workspace file structure (courtesy: Develop Paper)
To work with the container, connect to it with docker exec -it <container_name> bash and then use catkin as usual:
# Build workspace
catkin buildTo spawn multiple processes, execute multiple commands via docker.
To add a new package, add the respective volume in the docker-compose.yml file:
volumes:
- /path/to/<package_name>:/root/catkin_ws/src/<package_name>To manage packages in the catkin workspace, check out catkin/Tutorials/CreatingPackage and catkin/Tutorials/using_a_workspace
