Closed ghost closed 4 years ago
You have choices, and things change, so things are in a flux:
r-base
is a rock solid base image I use all the time, builds on a Debian base, does NOT offer thousands of r-cran-*
binaries as Debian does not have them (though it has ~800 plus maybe 100 from BioConductor); it is used by a lot of other containers
r-ubuntu
is also rock solid but not derived from r-base; based on Ubuntu; it uses the Rutter PPAs to provide about 4400 binary CRAN packages; also a solid choice
r-rspm
is brand new and experimental; it uses the RSPM repo to provided 15k CRAN binaries which may lack system requirements because while the packages are binary they are not tied into the package managment
You haven't really explained what it is you want to do so I stop here. Maybe the easiest is ... for you to experiment and report back? We can help with questions.
thanks @eddelbuettel . I've experimented with r-base and r-ubuntu. My goal was to automate via CI/CD pipeline an R application, incorporating Continuous Integration (GIT), Continuous Delivery and continuous deployment. Buzz wordy, sure.
What I found was that using R-base, debian:testing I'm able to install via source, which yields a 72 minute container build time. I did not try the binary's as I just discovered I likely could go that route. This ap only requires 15 packages or so, likely to be available. That would be something I can research.
With R-Ubuntu and binaries the build time for the same ap and container is 3-4 minutes depending on what Docker, git lab runners, network are doing. With multiple developers checking code in, the pipeline consumes quite a bit of resource and time.
But as I'm wrapping this presentation to our advanced analytic department it dawned on me that IDK if R-ubuntu is the only option to produce the 4 minute build time and maintain a reasonable pipeline.
After reading up I determined that you can use either depending on preference and dependency and probably get the same results.
so my next step is probably to experiment with debian and the r-cran packages and see what happens.
None of this implies any issue with the containers at hand so I think we should close this ticket.
After running with the r-base, which uses debian:testing the build time is very similar and all my binary needs are taken care of.
Thanks for the info on the repos. I guess it comes down to which one has the packages your application is going to need and what OS works the best for your ap.
That's right, and info is a little tricky to come by.
Glad to know r-base
works for you. It is generally a rock-solid. Too bad that we still don't have CRAN as binaries for this, but we are getting closer with the other ones. So ... trade-offs as usual.
Just when i thought i knew what I was talking about...
When you say don't have CRAN as binaries for this (r-base)
.
you mean
install.packages('shiny', type='binary')
vs
apt-get install shiny
which I'm meaning installs from one of those PPA's or repos as binary. ie does not compile the source when I install.
Yes. For any CRAN package foo
you need to search for a possible. r-cran-foo
. That is where 700 vs 4400 vs all 15800 matters. Or, to some extend not even if you prebuild the container for your CI run. It depends.
Some of the information listed in the wiki and here in the repo suggests that I should always be choosing an r-base and debian:testing base image for deploying R within a container.
I'd like some clarity on whats supported in the future and whats not. As I have no dependency on Ubuntu vs. Debian, I want my team to have access to the most pre-compiled latest versions of R packages available.
Thanks.