Open adam-gruer opened 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.
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.
@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.
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 📦
@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/
If you want a 📦 for doing stuff, I recommend @bhaskarvk's https://github.com/bhaskarvk/docker
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