As more and more ROS robots reach the market, developers face new challenges when deploying their applications. Frequently, they turn to Docker, the de facto container technology in cloud computing. However, Docker was never meant to be used for robotics, or even IoT. In fact, did you know there are numerous limitations of this technology that impact the deployment and management of edge applications?
Why Docker & ROS are not a good fit
Docker containers were designed for elastic operations, in an elastic domain: the clouds. As such, the technology fits particular specifications and addresses specific problems that are vastly different from those encountered in IoT and robotics. So much so that Docker’s strength in the cloud becomes a liability when deploying on a robot. With this whitepaper, we aim to dig deep to demonstrate specific examples of Docker’s limitations for ROS and to showcase the advantages of opting for snaps instead; a container designed for IoT and optimized for robotics.
What can you learn from this whitepaper?
- Why Docker was adopted by the ROS community
- The key deployment, security, and functionality reasons for which you need to think twice before working with Docker
- How to use snaps to solve these challenges and benefit from dedicated, maintained, and secure interfaces to access the host machine and its resources, leverage semantic channels, automatic rollbacks, delta updates, and more.