As someone who’s been developing robots with ROS 2 for quite some time, I’ve recently transitioned to using Docker for its convenience. Integrating the VSCode devcontainer extension has been a game-changer, especially when working with multiple ROS development environments simultaneously. Having a consistent development environment across the team has been incredibly beneficial.
After iterative improvements, I’m excited to share a devcontainer configuration that works neatly and is super easy to configure. Even if you have basic experience with Docker, Linux, and Bash, you can make changes effortlessly.
Adding tools, frameworks, and ROS tools is now as simple as that!
Additionally, I’ve included features like VSCode tasks and bash history synchronization between the host and Docker environment to enhance the development experience.
Do not aim to make it super easy to configure using alias commands, opaque scripts, and thin abstraction layers. Such super-easiness brings fragility and narrowness into your work, always.
Encourage users to modify Dockerfile or compose.yml directly instead.
You can also check the distrobox project (github.com/89luca89/distrobox) if you find containers useful for development. Then a tutorial for ROS developers can be interesting.
Thanks for the tips! It makes sense to encourage direct modifications to the Dockerfile and compose.yml. I’m also looking at the distrobox project. Great suggestion!