Docker spec for running Rserve in a sandbox necessary for Cplint on SWISH
This repository has been archived on 2021-09-04. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Franco Masotti 261f0f60fd Changed repository so that Rserve works. 2018-10-11 12:12:56 +02:00
.gitignore Dockerfile is generated 2016-08-05 12:59:42 +02:00
Dockerfile.in Changed repository so that Rserve works. 2018-10-11 12:12:56 +02:00
LICENSE Added a license. Modified the readme. 2016-10-14 15:48:56 +02:00
Makefile Changed command in Makefile so it can run with older docker versions as well. 2017-03-04 17:22:55 +01:00
README.md Typo. 2017-01-31 17:07:57 +01:00
Rserv.conf Added a license. Modified the readme. 2016-10-14 15:48:56 +02:00
Rserv.sh Added a license. Modified the readme. 2016-10-14 15:48:56 +02:00

README.md

R Rserve docker image for safe execution

NOTE

The Makefile in this branch is not intendended to be run manually.

Post installation and remove hooks are needed before you can actually run this.

Information

This directory builds a docker image based on Debian that safely executes Rserve. The Rserve instance is made available as /home/rserve/socket. To protect the container, we:

  • Run the container using --net=none to disable networking inside the container
  • Run Rserve as a non-priveleged user
  • Disable most binaries using chmod, except for those needed.

Installation

You need to install and enable Docker.

Makefile targets

  • image

    • Creates /home/rserve
    • Updates Dockerfile
    • Creates the docker image
  • remove

    • Removes the current image.
  • run

    • Starts the Rserve container. This creates a Unix domain socket /home/rserve/socket that allows contacting the R server.
  • stop

    • Stops and removes the current container.

Customization

Edit:

  • Dockerfile.in for adding additional packages to R
  • Rserve.sh for setting limits for the Rserve processes
  • Rserve.conf for configuring the Rserve process. Documentation is available from the Rserve wiki

License

Copyright (c) 2016, Jan Wielemaker, Franco Masotti. 2-Clause BSD (aka FreeBSD).