[JdeRobot] Docker image for jderobot development

Oscar Garcia oscar.robotica at linaresdigital.com
Mon Apr 18 22:53:13 CEST 2016


Good night.

We all know the difficulties associated with the installation of 
packages and dependencies associated with the project, and often forget 
some important or simply ended up filling our computer with additional 
packages that can become corrupt other programs installed or conflict 
with another installed packages.

To solve this problem I developed a docker image where I installed all 
the necessary packages to compile all the jderobot source code running a 
parallel shell in (dockerized over) your own home directory.

I'm glad to announce and invite you all to my github project. All help 
and reviews are welcome!!


      With this docker image you can:

  * Fast docker image build process compared with virtual machine
    installation: 22 minutes.
  * Every shell runs in a separate, clean and ephemeral container.
  * When users logout from a shell all modifications outside home
    directory are reverted, docker image always remains clean.
  * Compile whole jderobot project (see below).
  * Run gazebo worlds hardware accelerated:
      o Integrated Intel graphic card: tested and running
          + 00:02.0 VGA compatible controller: Intel Corporation 2nd
            Generation Core Processor Family Integrated Graphics
            Controller (rev 09)
      o   Nvidia cards installing same drivers inside docker image that
        the physical host: experimental (using bumblebee/optirun if needed)
          + 01:00.0 VGA compatible controller: NVIDIA Corporation GF108M
            [GeForce GT 630M] (rev ff)
      o Help needed: ATI cards.
  * Run components inside dockerized shell:
      o cameraserver: tested and running
      o cameraview: tested and running


TODO: Do it compatible with docker-machine to allow fast deployment in 
MacOS and Windows SO's. Push the image to docker hub to quicker download 
and installation.


      Building docker image:

redstar en nvidiastar:~/Documentos/github/docker-jderobot-5.3$ time ./build.sh
Building 'jderobot-5.3' image
Sending build context to Docker daemon   105 kB
Step 1 : FROM ubuntu:14.04
  ---> c88b54fedc4f
Step 2 : MAINTAINER github/ojgarciab
[...]
Removing intermediate container 6130d8b455c3
Successfully built 9b2087c3355c
Done!
List available images with 'docker images'

real    22m34.306s
user    0m0.371s
sys    0m0.282s


      Image size:

redstar en nvidiastar:~/Documentos/github/docker-jderobot-5.3$ docker images
REPOSITORY          TAG                 IMAGE ID CREATED             
VIRTUAL SIZE
jderobot-5.3        latest              9b2087c3355c        5 minutes 
ago       2.404 GB
ubuntu              14.04               c88b54fedc4f        5 days 
ago          188 MB


      Running cmake:

redstar en b3efe26acd44:~/Documentos/github/JdeRobot$ time cmake .
[...]
dpkg-deb: building package `jderobot-deps-dev' in 
`.dpkg_pkgs/jderobot-deps-dev_5.3.2_all.deb'.
dpkg-deb: building package `jderobot-deps' in 
`.dpkg_pkgs/jderobot-deps_5.3.2_all.deb'.
-- Configuring done
-- Generating done
-- Build files have been written to: 
/home/redstar/Documentos/github/JdeRobot

real    0m9.575s
user    0m6.498s
sys    0m3.059s


      Compiling jderobot:

redstar en b3efe26acd44:~/Documentos/github/JdeRobot$ time make -j5
Scanning dependencies of target resourcelocator
Scanning dependencies of target JderobotInterfaces_Definitions
Scanning dependencies of target JderobotInterfaces
Scanning dependencies of target jderobotViewerShare
Scanning dependencies of target jderobotViewer
[  1%] [  1%] Building CXX object 
src/stable/libs/resourcelocator/CMakeFiles/resourcelocator.dir/src/resourcelocator.cpp.o
Building C object 
src/stable/interfaces/CMakeFiles/JderobotInterfaces_Definitions.dir/dummy.c.o
Linking C static library libJderobotInterfaces_Definitions.a
[  1%] Built target JderobotInterfaces_Definitions
Scanning dependencies of target demo
[  1%] Building CXX object 
src/stable/libs/easyiceconfig_cpp/CMakeFiles/demo.dir/src/demo/demo.cpp.o
[  1%] Building CXX object 
src/stable/libs/jderobotViewer/CMakeFiles/jderobotViewer.dir/JderobotViewer.cpp.o
[  1%] Building CXX object 
src/stable/libs/jderobotViewer/CMakeFiles/jderobotViewerShare.dir/JderobotViewer.cpp.o
[...]
Linking CXX executable ardrone_server
[100%] Built target ardrone_server

real    11m55.618s
user    38m8.036s
sys    4m55.224s

Enjoy it!
https://github.com/ojgarciab/docker-jderobot-5.3
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20160418/5be917b9/attachment.htm 


More information about the Jde-developers mailing list