Docker containers for Bioconductor

Docker allows software to be packaged into containers: self-contained environments that contain everything needed to run the software. Containers can be run anywhere (containers run in modern Linux kernels, but can be run on Windows and Mac as well using a virtual machine called Docker Toolbox. Containers can also be deployed in the cloud using Amazon EC2 Container Service or other cloud providers.

With Bioconductor containers, we hope to enhance

Available Containers

Our aim is to provide up-to-date containers for the current release and devel versions of Bioconductor, and (probably, eventually) some older versions.

Bioconductor’s Docker images are stored in Docker Hub; the source Dockerfiles are in Github.

Our release images are based on rocker/rstudio and our devel images are based on rocker/rstudio-daily.

For each supported version of Bioconductor, we provide several images:

List of Containers

At present, the following containers are available:

Using the containers

The following examples use the bioconductor/devel_base container. Note that you may need to prepend sudo to all docker commands.

Prerequisites: On Linux, you need Docker installed and on Mac or Windows you need Docker Toolbox installed and running.

To run RStudio Server:
docker run -p 8787:8787 bioconductor/devel_base

You can then open a web browser pointing to your docker host on port 8787. If you’re on Linux and using default settings, the docker host is 127.0.0.1 (or localhost, so the full URL to RStudio would be http://localhost:8787). If you are on Mac or Windows and running Docker Toolbox, you can determine the docker host with the docker-machine ip default command.

Log in to RStudio with the username rstudio and password rstudio.

If you want to run RStudio as a user on your host machine, in order to read/write files in a host directory, please read this.

To run R from the command line:
docker run -ti bioconductor/devel_base R
To open a Bash shell on the container:
docker run -ti bioconductor/devel_base bash

Note: The docker run command is very powerful and versatile. For full documentation, type docker run --help or visit the help page.

Modifying the images

There are two ways to modify these images:

  1. Making changes in a running container and then committing them using the docker commit command.
  2. Using a Dockerfile to declare the changes you want to make.

The second way is the recommended way. Both ways are documented here.

List of packages installed on the core container

These packages, plus their dependencies, are installed:

Acknowledgements

Thanks to the rocker project for providing the R/RStudio Server containers upon which ours are based.