A set of configuration files to generate docker images for development in ROS. The aim of this project is to provide a development environment that can be used in any ROS distribution, sharing your home directory with the container.
This repo contains a set of configuration files to generate docker images for development in ROS. The aim of this project is to provide a development environment that can be used in any ROS distribution. It's not intended to be used for production purposes, only development purposes, therefore some useful configurations are considered, e.g. sharing your home directory with the container.
## Prerequisites
## Installation
A good starting point is to follow the good practices from [health robotics group](https://health_software.pages.code.tecnalia.com/software_good_practices/) and install the required packages: docker, rocker, rocker extensions, and nvidia-container-toolkit.
To use these configuration files some prerequisites must be met.
[**rocker**](https://github.com/osrf/rocker) is a tool to run docker images with customized local support injected for things like nvidia video cards support.
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# Install nvidia-container-toolkit
sudo apt-get update
sudo apt-get install-y nvidia-container-toolkit
```
#### OYR (off-your-rocker) pluging for rocker
## Install Development Environment
[**OYR**](https://github.com/sloretz/off-your-rocker) is a plugin for rocker that allows to run docker images with extra parameteers and configurations.
In this project OYR is used to launch a docker container with a named volume, not supported by rocker.
The dockerfile allows the installation of package dependencies for the workspace these could be ROS packages or python packages, installed with apt-get or pip. Packages are defined in a requirements.txt file at ws_dependencies folder, the file name is defined by the ROS_DISTRO (e.g. ./ws_dependencies/melodic_requirements.txt).