Coder Social home page Coder Social logo

docker-images's People

Contributors

khwilson avatar khwilson-lost avatar

Watchers

 avatar  avatar  avatar

docker-images's Issues

Binaries from R container

This is all great stuff, Kevin. As discussed over at the related LOST thread, we should be able to greatly reduce the R container build times by switching to an image that pulls in pre-compiled R package binaries for Linux; as opposed to building everything from source.

(Disclaimer: Existing build times aside, I'm pretty sure that this isn't the case if I quickly look at the current Dockerfile. Bit I'm rushing while kiddo no. 2 is sleeping...)

We have two options:

  1. Continue with renv, but switch to an image that automatically pulls in the pre-built binaries that are hosted at RStudio's package manager (RSPM), i.e. as opposed to one of the regular CRAN mirrors. The easiest way to do this is to build off the versioned stack images from the Rocker project. See example here, while I talk specifically about the renv+RSPM workflow here. Considerations:

    • The RSPM binaries only include compiled package code. They don't check that system deps are met, although the Rocker images already pull in the most commonly required ones. We'd have to specify any others in the Dockerfile.
  2. Alternatively, we skip renv altogether and go the BSPM route. The way that BSPM works is that it uses an alternate source of compiled R package binaries — Michael Rutter's PPA in the case of Ubuntu — but it also pulls in the relevant system dependencies at the same time. Dirk's got a v. nice introduction at the previous link and there's also a base container ready to go. Considerations:

    • Unlike with an renv lockfile (which captures the version of a specific package), the BSPM approach will always install the latest version of said package. This might well be the way we want to go anyway — good way to check that our LOST guides are up-to-date — but I wanted to flag nonetheless.

Personally, I'm leaning towards to option 2. But happy to discuss and clarify as needed!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.