Docker is much lighter than VirtualBox. Modifying the Docker image is also very convenient. You can create images for specific features/hardwares based on the same base image. Docker is also easier to manage and maintain. It is often used with CI/CD. That is, when you commit the code, the Docker image will be automatically compiled and the test will be run. Therefore, Docker is also used for deployment in many robotic products. If it is for educational use, you should not only teach students how to use ROS, but also teach them modern development tools and scientific practices.

2 Likes