how can I install packages in docker/R/bioconductor so that they persist?
Entering edit mode
anton.kratz ▴ 60
Last seen 11 weeks ago
United States, San Diego, UCSD

I am using R/bioconductor under docker (mostly because it is much easier for me to install, and I want to enable future reproducibility by others).

I invoke R/bioconductor like this, so that I can access my local files from within it:

docker run -v $(pwd):/home/rstudio/$USER -p 8787:8787 bioconductor/devel_base

This is working great, but now I want to install an additional package (DESeq2). It installs fine, but everytime I restart the docker image, I need to install DESeq2 again! And it takes a long time to download and install.

Can I somehow install DESeq2 into the docker image of bioconductor/devel_base so that it does persist? I.e. I do not want to install it again every time I start the docker image. Or can I somehow save the docker image with the installed DESeq2 in it? Or what is the best approach?

docker • 4.1k views
Entering edit mode
Last seen 1 hour ago
United States

see for

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 commitcommand.
  2. Using a Dockerfile to declare the changes you want to make.

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

Entering edit mode

I tried this but I am not quite there yet. First I invoked a container of devel_base:

docker run -ti bioconductor/devel_base R

Now, in the virtual R, I insall DESeq2:


I quite the container:


And now I commit the image:

docker commit -m "Installed DESeq2" -a "Anton Kratz" 5d22a0b73b46 bioconductor/devel_base:v2

This works, I now have an image devel_base:v2 with DESeq2 installed in it, but now how can I invoke a container of devel_base:v2 so that RStudio is running? If I invoke my original command, just changed to use the new image instead:

docker run -v $(pwd):/home/rstudio/$USER -p 8787:8787 bioconductor/devel_base:v2

then in just starts R (command line), immediately exits, and there is no RStudio running at the port I specified (container is still running).


Login before adding your answer.

Traffic: 711 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6