Docker Containerization
We distribute MoveIt Pro using docker to ensure MoveIt Pro dependencies do not interfere with other ROS 2 projects on your computer.
Dockerfile and Docker Compose
We provide a default Dockerfile for use in your custom MoveIt Pro workspaces here. The default docker-compose.yaml file can be found on your host computer at /opt/moveit_pro
. The environment variables used by the docker-compose file are set in ~/.config/moveit_pro/moveit_pro_config.yaml
.
Advanced Launch Configurations for other ways to run MoveIt Pro.
User workspace mounting
You need to mount a user workspace into the MoveIt Pro Docker containers, which allows you to:
- Add your own custom packages into MoveIt Pro, including custom robot configuration or Behavior packages.
- Ensure that Behavior packages generated when you Create a Custom Behavior in the web app are available on your host file system.
To mount a user workspace, run moveit_pro configure
and follow the prompts.
Note that the user workspace folder must:
- Be a valid Colcon workspace.
This means that the folder must contain a
src
subdirectory, which in turn contains Colcon packages. - Contain a
colcon-defaults.yaml
at the workspace root to enable colcon build and test arguments. See our example here. - Contain a
Dockerfile
at the workspace root to enable creating a docker overlay image. See our example here.
A user workspace folder can contain a docker-compose.yaml
at the workspace root to define new environment variables and functionality to the services required by MoveIt Pro command line verbs. See our example here.
For example, you can mount a folder located at ~/project1_ws
into MoveIt Pro and use its packages if it has the following structure.
~/moveit_studio_ws
+ --- colcon-defaults.yaml
+ --- docker-compose.yaml
+ --- Dockerfile
+ --- src/
+ --- my_package_1/
+ --- my_package_2/
Your workspace will be bind mounted into the ${HOME}/user_ws
folder of the MoveIt Pro containers.
Building Docker Containers on ZFS
If you are using a non standard filesystem such as ZFS, you may run into errors when building containers locally.
For instance, when executing moveit_pro build
or moveit_pro run
.
To remedy this, follow the steps in the MoveIt Pro Troubleshooting Docker ZFS guide to update your Docker daemon to use the ZFS storage driver.