ropensci / ozunconf17

Website for 2017 rOpenSci Ozunconf
http://ozunconf17.ropensci.org/
24 stars 6 forks source link

A package to set up an R workshop environment using Docker #12

Open adam-gruer opened 7 years ago

adam-gruer commented 7 years ago

A package that combines existing techniques to set up rocker instances for a specified number of workshop attendees and take care of logins and data persistence

MilesMcBain commented 7 years ago

I recall a blog post about this by @stephlocke: https://itsalocke.com/blog/building-an-r-training-environment/

Looks useful! I wouldn't be surprised if she has done some work toward packaging this.

stephlocke commented 7 years ago

Here's my latest intro workshop container: https://github.com/lockedata/docker-intror https://hub.docker.com/r/lockedata/docker-intror/

This has a 100 users and also SQL Server ODBC installed so you can talk to an external db. I don't bother about data persistence often as I tell people they have a few extra days to usee it to practice and then show them how to export their files - this saves me having to pull code off for them and adds a bit of incentive for them to jump on the server after the training.

pgensler commented 7 years ago

@adam-gruer It might even be worth simply putting together materials on how to create a robust Dockerfile with best practices, as I just recently created a container but there was not a real good resource to utilize housing best practices.

adam-gruer commented 7 years ago

Great suggestion @pgensler and thanks @stephlocke , I definitely had your blog posts/examples/dockerfiles in mind as a great existing source. Also, so I don’t forget, ropensci has a r docker guide, and Mine CetinkayaRundel has some good blog posts links. I need to go back and find those resources. One other thought I had is some r functions that write a docket file for you based on some common use cases, maybe a bit like some of the functions in the devtools 📦

pgensler commented 7 years ago

@adam-gruer just to add to this, it would also be helpful to show the full dev process for a container: from building to dockerfile to using CI services to verify the build, as your container can build easily on your machine, but making it "comply" with CI services is definitely a pain, and not exactly the most intuitive process.

if you want an idea of how I've put together my dockerfile, feel free to edit it, it was a true pain to make rstan and rJava work on a single container, but at least others can use this as a sandbox: https://hub.docker.com/r/pgensler/sandboxr/

stephlocke commented 7 years ago

If you want a 📦 for doing stuff, I recommend @bhaskarvk's https://github.com/bhaskarvk/docker