containerit can install Bioconductor packages.

First we need a Bioconductor package locally:

if (!require("BiocGenerics", character.only = TRUE)) BiocManager::install(c("BiocGenerics"))

Then we load the package in a clean session and save the session, and only then create a Dockerfile from the session to not have containerit-specific dependencies in the Dockerfile:

info <- callr::r_safe(function() {
      suppressPackageStartupMessages({
        library("BiocGenerics")
        sessionInfo()
      })
    })

library("containerit")
df <- dockerfile(from = info)

A shortcut to this is provided with the function containerit::clean_session(..):

containerit::clean_session(expr = quote(library("BiocGenerics")))

The created Dockerfile is:

containerit::print(df)

Using a specific Bioconductor version or installing versioned packages is not supported.



o2r-project/containerit documentation built on June 28, 2021, 2:46 p.m.