Skip to content

inria-paris-robotics-lab/prl_containers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

prl_containers

This package provides container configurations for the Paris Robotics Lab software

Containers list

- docker/noetic-dev

Docker container with dev version of prl_ur5_robot ROS stack.

It is based on osrf/ros:noetic-desktop-full image with pebuilded catkin workspace that hosts the prl_ur5_robot stack and all the required dependencies.

To build:

cd ./docker
docker build -t my/ros:prl_ur5_robot -f Dockerfile.noetic-dev .

To run:

On Ubuntu with Intel graphics:

xhost +
docker run \
    --network host \
    --volume='/tmp/.X11-unix:/tmp/.X11-unix:rw' \
    --device=/dev/dri:/dev/dri \
    --env="DISPLAY=$DISPLAY" \
    --rm \
    -it my/ros:prl_ur5_robot

Remarks : If this command is not working for you (it crashes, or you cannot get a graphical interface), this tool may be able to help you ... rocker

Good practices (for Docker novice)

Docker containers are not persistent, everything - file changed or created, installs, ... - made in the container will be lost after exiting. (There are some ways of making it persistent but I don't recommend it).
However, I can recommend two workarounds to overcome this "limitation".

Mounting volumes

Mounting a volumes allows you to 'share' files between your machine and your container. Once the container is closed, the files remain on your machine.
To use this mechanism simply add the following parameter to the docker run command :

--volume='/path/to/dir/on/machine:/path/to/dir/in/container:rw'

For more info see https://docs.docker.com/storage/volumes/

Create custom image

If you need to have extra installed softwares in your container and don't want to install them every time you run a new instance, you can build a custom docker image that extends the one given by this repo (with your softwares already installed in it).
Your docker file will look like something like this :

FROM my/ros:prl_ur5_robot

RUN <your_commands>
...
RUN <your_commands>

COPY ./ros_entrypoint.sh /
ENTRYPOINT ["/ros_entrypoint.sh"]

CMD ["bash"]

and the build using :

cd ./docker
docker build -t my/ros:<custom_image_name> -f <path_to_docker_file> .

About

Paris Robotics Lab containers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages