-
Notifications
You must be signed in to change notification settings - Fork 759
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
functions for working with Docker #710
Comments
Given the already huge amount of stuff in |
Especially that these are only loosely coupled to |
Yes, fair point. In favour of squeezing them into
But perhaps I'm wrong in assuming others see docker as part of the R package building and testing workflow... |
@benmarwick @wch is working on |
Yes, thanks, I didn't know about that one, looks very relevant. Perhaps that's where the functions I'm thinking of should go. |
I think these functions would be better off in another package too |
Is anyone here aware of developments in direction since this thread closed? I want to develop a package for automatically creating I'm happy to take this discussion elsewhere. Feedback on a first draft how I imagine the package to be used is highly welcome: https://github.com/o2r-project/containerit/blob/master/vignettes/basic.Rmd |
I am doing sg somewhat similar right now here: The idea of
I am not using harbor, though. |
@gaborcsardi Thanks for the pointer! I would like to use sysreqs to create the respective distribution's install statements for the libraries within the Dockerfile. Afaics you're using bash scripts, and your use case is quite different. @hadley apologies for stealing this issue! |
Just a short follow up: We've completed a first prototype, see this blog post. I will also be at useR Brussels and it would be awesome to chat with people here about containers. |
This old issue has been automatically locked. If you believe you have found a related problem, please file a new issue (with reprex) and link to this issue. https://reprex.tidyverse.org/ |
Docker is all the rage amongst DevOps types and cloud service providers and seems to offer some concrete advantages for R users in managing dependencies, reproducibility and isolation of the computational environment (@cboettig has a nice paper on this: http://arxiv.org/pdf/1410.0846.pdf). And no doubt you've seen rocker-org by @eddelbuettel and @cboettig, which is a huge contribution to using R and RStudio with docker.
What do you think about these functions being part of
devtools
:add_dockerfile()
writes a basic dockerfile to build a docker image that includes the R package and all its dependencies, and maybe edits other files in the package if necessary (maybe.Rbuildignore
, cf. https://github.com/benmarwick/Steele_et_al_VR003_MSA_Pigments/blob/master/vignettes/Dockerfile and https://github.com/cboettig/nonparametric-bayes/blob/master/manuscripts/Dockerfile).add_circle()
writes a circle.yml file (analogous to travis.yml) for circleci's continuous integration service of the docker image that the dockerfile generates (cf. https://github.com/benmarwick/Steele_et_al_VR003_MSA_Pigments/blob/master/circle.yml this also pushes the image to the docker hub when the tests pass)build_docker()
builds the docker image from the dockerfile made byadd_dockerfile()
. This would require docker to be installed locally. Analogous to R package build tools indevtools
and RStudio.push_docker()
pushes the docker image to an online repository, the Docker Hub is the big one at the moment, but Google have just announced one also. This would require docker to be installed locally. Analogous to git push in RStudio.This might be a bit of mission creep for
devtools
and overlap with the goals ofpackrat
, but it would simplify the reproducible research workflow nicely (for Carl and I at least, not sure that Dirk is adevtools
user ;) No doubt there are others using R and Docker that would benefit also. Anyway, what do you reckon?The text was updated successfully, but these errors were encountered: