-
Carl Boettiger authoredCarl Boettiger authored
Version-stable Rocker images
image | description | size | metrics | build status |
---|---|---|---|---|
r-ver | Version-stable base R & src build tools | |||
rstudio | Adds rstudio | |||
tidyverse | Adds tidyverse & devtools | |||
verse | Adds tex & publishing-related packages |
This repository provides alternate stack to r-base
, rocker/rstudio
, rocker/hadleyverse
series, with an emphasis on reproducibility. Compared to those images, this stack:
- builds on the stable
debian:jessie
release instead ofdebian:testing
, so no more apt-get breaking when debian:testing repos are updated and you had to muck with-t unstable
to get apt-get to work. - Further, this stack installs a fixed version of R itself from source, rather than whatever is already packaged for Debian (the r-base stack gets the latest R version as a binary from debian:unstable),
- and it installs all R packages from a fixed snapshot of CRAN at a given date (MRAN repos).
- provides images that are generally smaller than the r-base series
Users should include the version tag, e.g. rocker/verse:3.3.1
when reproduciblity is paramount, and use the default latest
tag, e.g. rocker/verse
for the most up-to-date R packages. All images still receive any Debian security patch updates. Note that any debian packages on these images (C libraries, compilers, etc) will likely be older/earlier versions than those found on the r-base
image series.
Version Tags
Using the R version tag will naturally lock the R version, and also lock the install date of any R packages on the image. For example, rocker/tidyverse:3.3.1
Docker image will always rebuild with R 3.3.1 and R packages installed from the 2016-10-31 snapshot of CRAN, matching the last day that version was current, while rocker/tidyverse:latest
will always have both the latest R version and latest versions of the R packages. Note that packages installed by a user (e.g. with install.packages()
either interactively or via downstream Dockerfiles) will still install the latest versions from the RStudio CRAN mirror by default. To install additional packages from the same CRAN snapshot as used on the tidyverse
image (e.g. to decrease the chance of package incompatibilities), users must explicitly specify that MRAN repo, which is stored for reference in /etc/environment
. See the rocker/verse Dockerfile for an example of this. New tags will be added with new R releases, with snapshot date being fixed when those Dockerfiles are created.
Images
The image rocker/r-ver
is the functional equivalent of r-base
, though slightly pared down. Currently r-ver
has tags for all minor R versions back to 2.15.0
; see all tags. Users can attempt to build other versions from the r-ver
Dockerfile by specifying --build-arg R_VERSION=<VERSION>
, though this is unlikely to work with very old R versions.
The image rocker/tidyverse
is the functional equivalent of rocker/hadleyverse
, minus the LaTeX part which is moved into a downstream rocker/verse
in order to keep the tidyverse
image more compact. Now that tidyverse is a thing, the term "hadleyverse" is on the way out. Users building the tidyverse
Dockerfile directly can set a custom snapshot date for the image by using --build-arg BUILD_DATE=<DATE>
.
The rocker/rstudio
image builds with RStudio v1.0.44
by default. This can be customized by specifying the desired version in --build-arg RSTUDIO_VERSION=<VERSION>
if building locally from its Dockerfile. Note that: rocker/rstudio:latest
is the only image name in this stack that already existed. For consistency, rocker/rstudio:latest
now builds on r-ver:latest
instead of r-base:latest
. This change may break downstream images, which should either build explicitly on the debian:testing
stack by using the testing
tag (rocker/rstudio:testing
) or be patched to support this change.
image | Dockerfiles |
---|---|
r-ver |
|
rstudio |
|
tidyverse |
|
verse |
|