Visit rocker-project.org for more about available Rocker images, configuration, and use.
This repository provides rocker/r-ver
and its derived images,
alternate stack to r-base
,
with an emphasis on reproducibility.
Compared to r-base
, this stack:
rocker/r-ver:4.0.0
is based on Ubuntu 20.04 (ubuntu:focal
)
because no interval was set at the time of the Ubuntu 20.04 release.r-base
stack gets the latest R version as a binary from Debian unstable).linux/amd64
and linux/arm64
(arm64 images are experimental and only available for rocker/r-ver
4.1.0 or later).rocker/rstudio
and
the date of CTAN mirror set in rocker/verse
are also fixed.
Please check the document about versions for details.r-base
series.Note: This repository is for R >= 4.0.0 images.
For images with R <= 3.6.3, please see the rocker-versioned
repository,
or the shiny
, geospatial
,
and binder
repositories.
The following images have been built and are available on DockerHub or GitHub Container Registry.
For more information about these container images, please see the Wiki of this repository.
Check the Rocker project site for the list of images.
Check the Wiki for the list of tags.
There are also special tags that are not listed in the wiki, devel
.
The GitHub Actions workflow build and push these images daily.
devel
images are based on ubuntu:latest
(the latest Ubuntu LTS version) and install the latest R-devel daily snapshot.
pre-built devel
images are available for rocker/r-ver
, rocker/rstudio
, rocker/tidyverse
, rocker/verse
.rocker/geospatial:dev-osgeo
is special image that differ slightly from the regular rocker/geospatial
.
Check the Rocker project site for common methods for Rocker images.
Please install R packages from source using the install.packages()
R function or the install2.r
script,
and use apt
only to install necessary system libraries (e.g. libxml2
).
Do not use apt install r-cran-*
to install R packages.
If you would prefer to install only the latest verions of packages from pre-built binaries using apt
,
consider using r-base
or rocker/r-bspm
instead.
The Docker images built from this repository describe the software installation method in standalone scripts
rather than directly in the Dockerfiles.
These files are under the scripts
directory, and these files are copied in all Docker images,
under a top-level /rocker_scripts
directory.
This allows users to extend images by selecting additional modules to install on top of any pre-built images.
For instance, if one wishes to install Shiny Server on top of a base of rocker/rstudio:4.0.0
,
one could write a simple Dockerfile as follows:
FROM rocker/rstudio:4.0.0
RUN /rocker_scripts/install_shiny_server.sh
Install scripts can generally take a version as a first argument or ingest an environment variable to specify the version to install. So to install fixed versions, one can use either of the following syntaxes:
FROM rocker/rstudio:4.0.0
ENV SHINY_SERVER_VERSION 1.5.14.948
RUN /rocker_scripts/install_shiny_server.sh
FROM rocker/rstudio:4.0.0
RUN /rocker_scripts/install_shiny_server.sh 1.5.14.948
RStudio Server and Shiny Server are managed by the S6 supervisor system, which allows containers to manage multiple background processes gracefully.
Note: No longer support ADD=
runtime triggers for installing Shiny or similar modules,
which is used for R <= 3.6.3 images.
Dockerfiles and docker-bake.json files, which define the pre-built images,
are in the dockerfiles
folder and the bakefiles
folder.
And,
these files are generated by the build scripts under the build
folder.
When a new version of R or RStudio is released, GitHub Actions will automatically create a Pull Request to update these files.
Latest R version images will be built on a rolling basis; when the Dockerfiles are updated, they are immediately built by GitHub Actions.
Non-latest R version images will be built when a new R version is released. At this time, a tag and a GitHub release will also be created.
Please check https://github.com/rocker-org/rocker/wiki/How-to-contribute.
The Dockerfiles and the scripts in this repository are licensed under the GPL 2 or later.