That project produces Docker images, hosted on dedicated public Docker Cloud site. Those Docker images are intended to bring Linux-based ready-to-use environment for R Machine Learning (ML) engineers.
There is an on-going work to base the images on the Rocker project. For historical reasons, the general purpose C++ images may still be used though.
The only supported Linux distribution is, so far is Ubuntu 20.04 LTS (Focal Fossal), as it is the one used by the Rocker project (and one of the most popular among the data scientists).
Every time some changes are committed on the project's GitHub repository, the Docker images are automatically rebuilt and pushed onto Docker Cloud.
When some more components are needed, which may be of interest to other
R developers, the Docker image may be amended so as to add those extra
components.
The preferred way to propose amendment of the Docker image is through
pull requests on the GitHub
project.
Once the pull request has been merged, i.e., once the Dockerfile
amendment
has been committed in
GitHub,
Docker Cloud then rebuilds the corresponding Docker images, which become
available for every one to use.
- Docker Cloud dashboard for Rocker base image (
r-ver
) - Docker Cloud dashboard for Rocker RShiny image (
shiny
) - Docker Cloud dashboard for R images
- Docker Cloud dashboard for C++ images
- Start the Docker container featuring the base image or the RShiny one
(
<type> is either
baseor
shiny`).
$ docker pull infrahelpers/r-base:<type>
$ docker run --rm -v ~/.ssh/id_rsa:/home/build/.ssh/id_rsa -v ~/.ssh/id_rsa.pub:/home/build/.ssh/id_rsa.pub -it infrahelpers/r-base:<type>
[[email protected] dev]$
- Setup the user name and email address for Git:
[[email protected] dev]$ git config --global user.name "Firstname Lastname"
[[email protected] dev]$ git config --global user.email "[email protected]"
- (WIP) Clone some R-based project:
[[email protected] dev]$ git clone <some-git-repository>
...
The images may be customized, and pushed to Docker Cloud;
<type>
may be base
or shiny
:
$ mkdir -p ~/dev/showcase
$ cd ~/dev/showcase
$ git clone https://github.com/machine-learning-helpers/docker-images-r.git docker-images-r
$ cd docker-images-r
$ vi <type>/Dockerfile
$ docker build -t infrahelpers/r-base:<type> <type>/
$ docker run --rm -v ~/.ssh/id_rsa:/home/build/.ssh/id_rsa -v ~/.ssh/id_rsa.pub:/home/build/.ssh/id_rsa.pub -it infrahelpers/r-base:<type>
[[email protected]]$ exit
$ docker push infrahelpers/r-base:<type>
For any of the following features, an issue may be open on GitHub:
- Support other image types, for instance Verse or RStudio
- Automate regular rebuilds (e.g., once a month for new releases of R)