Before building the docker image go to the cloned whill-robot directory
cd ~/catkin_ws/src/whill-robotBuild Docker images
docker build -t ros-noetic-zed .For building using Jetson devices
docker build -f Dockerfile.jetson -t ros-noetic-zed .Run this once on host every boot to enable GUI (Or add it to Ubuntu Startup applications)
xhost + local:dockerRun this to open a new interactive session (bash)
docker run -it --runtime nvidia --net=host --ipc=host --gpus all \
--privileged \
--env NVIDIA_DRIVER_CAPABILITIES=all \
--env DISPLAY \
--env QT_X11_NO_MITSHM=1 \
--env TTY_WHILL=/dev/robot_whill \
--volume /tmp/.X11-unix:/tmp/.X11-unix:rw \
--volume /dev:/dev \
--volume /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime \
--volume ~/catkin_ws:/root/catkin_ws:rw \
--volume ~/.ros:/root/.ros:rw \
--name ros \
ros-noetic-zed \
bashhost ~/catkin_ws directory will be binded to container /root/catkin_ws directory and host ~/.ros directory will also binded to container /root/.ros directory
To open new terminal use byobu inside container or run new interactive session
docker exec -it ros bashTo stop container
docker stop rosTo start container
docker start rosTo delete container (might be needed when rebuilding images)
docker container rm ros