Docker is an open-source project that automates the deployment of Linux applications inside software containers. See https://www.docker.com/.
Docker can help you easily evaluate someone else’s code changes without breaking your local setup, as well as test on versions of Linux other than your local installed version. MoveIt! has an official MoveIt! Docker build that lets you quickly get a MoveIt! setup in a local container.
Before starting this tutorial please complete installation as described in Docker’s installation instructions. Installation instructions are available for multiple operating systems.
Note that for recent Linux distros, the installation is basically just a single wget command. You may also want add your user to the docker group to avoid having to use sudo permissions when you use the docker command.
If you are running a recent version of Ubuntu (e.g. 14.04, 16.04) it can be as simple as:
sudo apt-get install curl curl -sSL https://get.docker.com/ | sh sudo usermod -aG docker $(whoami)
And you will likely need to log out and back into your user account for the changes to take affect.
To run a Debian-installed container of MoveIt! with graphics support:
wget https://raw.githubusercontent.com/ros-planning/moveit/master/.docker/gui-docker -O gui-docker && chmod +x gui-docker ./gui-docker -it --rm moveit/moveit:melodic-release /bin/bash
This will attempt to use nvidia-docker if hardware and drivers are available.
docker run -it moveit/moveit:melodic-release
There are many variants of the MoveIt! Docker available as documented here. For example, any of the three current distros work: [indigo, kinetic, melodic]. Other variations include:
To make the source container more useful for developing and testing code, we recommend you install the following extra dependencies because the docker container is very bare-bones:
apt-get install less ssh bash-completion tree nano
MoveIt!’s docker containers are built automatically on dockerhub.com, but you can modify and build locally if desired with the following command:
cd moveit/.docker/source docker build -t moveit/moveit:melodic-source .