Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

282
Views
How to build a Docker image with the right R and package versions and open Rstudio with them afterwards?

I just finished writing a manuscript for publication in a scientific journal. I want my research to be reproducible, so besides sharing my original and compiled R markdown notebooks on Github, I would like to save the environment in which I was analysing my data (including the data, notebooks and specific R and package versions) in a Docker container. Moreover, I would like anyone trying to reproduce my work to be able to execute this code in an interactive Rstudio session.

I was able to create a Dockerfile with the correct environment. Here is a toy example:

FROM rocker/r-ver:3.5.1

RUN mkdir /home/working_directory
RUN mkdir /home/working_directory/bin

RUN R -e 'options(repos = \
  list(CRAN = "http://mran.revolutionanalytics.com/snapshot/2019-01-01")); \
  install.packages("ggplot2")'

COPY current/0[1-8]-*.Rmd /home/working_directory/
COPY current/bin/utils.R /home/working_directory/bin/

RUN R

However, this doesn't allow the users to read the Rmd notebooks and execute the code line by line. A workaround is to run the image rocker/rstudio, and install the packages from there, but I would like to be able to do so from a single docker build call. Unfortunately, I wasn't able to do so.

Cheers!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

The Rocker RStudio image should have what you need - RStudio on top R. If you want specifically R 3.5.1, you can find the source here:

  • https://github.com/rocker-org/rocker-versioned/blob/master/rstudio/3.5.1/Dockerfile

For more details on how to use it read https://hub.docker.com/r/rocker/rstudio.

To just use the pre-built images with a specific R version

# with R version 3.5.1:
docker pull rocker/rstudio:3.5.1

To investigate the image interactively:

docker run --rm -it rocker/rstudio:3.5.1 bash

Now we can run for example:

# Check R version
Rscript -e "sessionInfo()[['R.version']][['version.string']]"
# [1] "R version 3.5.1 (2018-07-02)"

# Check RStudio Server version
rstudio-server version
# 1.1.463

# Exit when done
exit
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!