ROS specific needs
In the scope of the learn-real project, ROS is one of the possible system used however it needs to write some files (pids, small logs, etc.) in order to run properly however these can be discarded when the run ends.
The current estimation done by @cazinn for the space needed is about 10Mb.
The ROS main folder is
~.ros by default and that can be changed using the ROS_HOME environment variable.
For security reasons, our containers are run in read-only mode with two small read/write tmpfs mounted on the containers: /tmp and /var. Each of which is allocated 500kb which is enough for the use of BEAT.
We do have support for adding temporary volumes in place as well as setting custom environment variables.
In order to run Docker containers that can execute ROS, we have several possibilities:
- Mount a tmpfs volume on the default ROS home folder
- Make either the
/varvolumes bigger and point
ROS_HOMEin a subfolder in them
- Add a new tmpfs volume in a separated known folder and point
ROS_HOME can either be hardcoded during the image creation process or dynamically set when running the container.
For solution 1, from where should the information about the size of the target folder come from as well as the target location ?
For solution 2,
ROS_HOME can be hardcoded as part of the image creation
For solution 3, same questions as for solution 1 with the possibility of hardcoding the environment variable as in solution 2.