Dears,
I am building a docker file and need to insert package dependencies and system dependencies:
1- How do I install the Bioconductor package with its dependencies? Are they installed automatically if I mention the version of the package?
2- If I have packages with GitHub source, I need to search for their repositories automatically in R, is it possible to use the "remotes" package?
3- If I have the following tables for Debian dependencies, which exact column should be used as dependency?

I mean should I make for example in the second package "actuar"
RUN apt-get install -y \
liblapack.so.3.7.1
OR
RUN apt-get install -y \
liblapack3
OR
RUN apt-get install -y \
liblapack-dev
Thanks and Regards,
2 answers
My recommendation is to use bioconductor/bioconductor_docker:RELEASE_3_18 which is the current Bioconductor official Docker image. It comes with pretty much any dependency you can think of. From there, just use regular BiocManager::install(). I am using this image for my work for almost 2 years now and cannot recall the last time I had to add a dependency that was not preinstalled. If it is still needed then simply use apt-get as you akready do. Here is the Bioc GitHub for this image to take inspiration from in terms of how they use Dockerfiles: https://github.com/Bioconductor/bioconductor_docker
1 - you can use conda/mamba/micromamba within docker to install pre-compiled R packages. I would recommend this.
2 - You'll need to try this out on a case by case basis, this is not specific
3 - Your image did not work.
4 - RUN apt-get install -y liblapack3 liblapack-dev
Do not use the actual file eg liblapack.so.3.7.1
If you have a debian or ubuntu etc system at hand, you can check the package names to make sure they are correct with apt-get search liblapack3
I would also recommend checking other people's Dockerfiles on github for examples.
Log in to answer this question.