Question: Ability to use a particular package via Docker
0
3.1 years ago by
jordan.xanthopoulos0 wrote:

Hi, I just started using docker and I what I want to know is if I can actually download with a command a particular package, with its dependencies,inside the Dockerfile, instead of dl'ing the whole category, cause it makes my image too big for no reason.

What I am doing at the moment is just adding: FROM bioconductor/release_flow in the top of the docker file.

The problem is, I only need the flowcore library, which is part of the flow release. I tried running this command, from somewhere else:

RUN Rscript -e 'source("http://bioconductor.org/biocLite.R");library(BiocInstaller); biocLite("flowCore", dep = TRUE)'

but I got some errors, since some dependencies failed to install, rendering the image useless.

flowcore docker dockerfile • 701 views
written 3.1 years ago by jordan.xanthopoulos0

Please post the sessionInfo and error message.

http://imgur.com/a/qiUHx

These are the final lines. Note that the only steps I have are, adding the rocker/shiny, adding some CRAN libraries (successfully) and then running this line to get my bioconductor package.

Can you also show the errors during  XML and ncdfFlow installations? Without these information, my best guess is some C libraries are missing  (e.g. libxml2 and hdf5)

http://imgur.com/a/7DOJM

I managed only to catch the XML. Can you understand what the problem may be? I can see the libxml2 is indeed missing. How can I add this via the dockerfile?

You need to install libxml2 library.

I fixed the XML problem. There are more problems to be solved though. The HDF5 package is no longer on CRAN. What am I supposed to do?

http://imgur.com/a/aHFcM

As I said, you need c library for hdf5. The same for GL.

Hey, thank you for the replies. I've come up with more questions.

RUN Rscript -e 'source("http://bioconductor.org/biocLite.R");library(BiocInstaller); biocLite("flowCore", dep = TRUE)'

what i have added to the rocker dockerfile are these C libraries
libxml2-dev \
libxml2 \
mesa-common-dev \
libglu1-mesa-dev \
freeglut3-dev \
hdf5-tools \
libhdf5-openmpi-dev \
libhdf5-serial-dev
needed for various packages from CRAN or bioconductor. Still, I get a warning about the rgl http://imgur.com/a/QQ7Bx (no errors though) and when I try to run a simple container i get this
"standard_init_linux.go:175: exec user process caused "exec format error". I am guessing this has to do something with the rgl error I posted.

libhdf5-openmpi-dev and hdf5-tools are not necessary.

I don't know how to resolve the dock container issue through. Maybe you should install the flowCore directly to your linux instead of through docker.

yeah, the thing is I want to have a ready-to-go image of my R app for anyone, not just locally. Thanks for the replies. I am closing the thread