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
docker-compose.yaml
at the workspace root to define services required by MoveIt Pro command line verbs. See our example here. - Contain a
Dockerfile
at the workspace root to enable creating a docker overlay image. 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.