Home About Blog pRojects

Rocker - explanation and motivation for Docker containers usage in applications development

What is R? I was asked at the end of my presentation on the 10th Cracow R Users Meetup that was held last Friday (30.09.2016). I felt strange but absolutely confirmed that R is the language of Data Science and is designed to performed the statistical data analysis. Later I found out that few of listeners came to the meetup to listen more about Docker than R, as my topic was Rocker - explanation and motivation for Docker containers usage in applications development. In this post I present the overview of my presentation. If you are not familiar with using Dockers in R applications development, then this is a must read for you!


The presentation is available at my website and (as many people ask) was prepared with the help of revealjs::revealjs_presentation, a great tool from RStudio. The front page wasn’t entirely specified in regular rmarkdown YAML, as I put few font awesome icons so I think you would also like to see the code of the presentation at my GitHub’s repository.


Below I present the description of the presentation.

As R users we mostly perform analysis, produce reports and create interactive shiny applications. Those are rather one-time performances. Sometimes, however, the R developer enters the world of the real software development, where R applications should be built once and then distributed and maintained on many machines.

What are the best practices in distributing the software? How can we ensure the code will always run the same regardless of its environment? Is there a way to skip the manual and long-lasting installation process if the software have been built once? Why using Docker in shipping the software is crucial?

Docker is the world’s leading software containerization platform. Docker containers wrap a piece of software in a complete file system that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment.

In my presentation I’ll give a brief introduction to Docker and provide a full motivation for using this technology in a regular R work. I strongly belief Docker can improve the data analysis to be more reproducible and can facilitate the software development so that the distribution and maintenance can be easier.

The presentation will be said by the person with the R background, assuming that the audience is also experienced in R. Get motivated: http://r-addict.com/2016/05/13/Docker-Motivation.html

### Acknowledgement

I would like to say thank you to Zygmunt Zawadzki and Bartosz Sękiewicz, organizators of this meetup and Marta Karaś, the second speaker with a great presentation on Convex Clustering and Biclustering with application in R that can be found here