-
Notifications
You must be signed in to change notification settings - Fork 2
Home
(Delivered to RSE Conference September 2016)
What this workshop is about:
The aim is to introduce you to the Docker Container software, to explore it's strengths & weaknesses wrt. other approaches, get some practical experience in how to create simple containers and explore ways in which adopting a docker approach can help you with your research.
What this workshop is not:
You will not go away with a comprehensive knowledge of Docker, GitHub, Docker Hub - you will need to study other resources and ideally learn by doing (or not doing, there is no try :-) )
Workshop A2
Using Docker for Research Software development & deployment
Mark Fernandes, Institute of Food Research
A practical introduction to the potential benefits of Docker containers in developing, publishing, distributing and maintaining Research software.
Docker uses a union filesystem created from layers and can provide a complete software ecosystem (container) for your software to run in. It can be deployed to a users machine be it Mac, Windows or Linux without interfering with their configuration in those OSs.
You have tight control over the version/flavour of the OS, what version libraries are installed, web server configurations etc such as they are as required for your software to perform as it did in your organisation. This can facilitate reproducible research. It can also deliver bespoke environments for training courses.
Docker maintain their hub which can provide users a searchable registry to find your work and can provide public hosting of your container in a similar fashon to Github.
We will build some simple containers and incorporate code infrastructure of a variety of types. We also explore ways of exploiting the layer filesystem with respect to software maintenance.
- Laptop (Ideally Windows or MacOS/OSX Linux can be supported but let us know before the session)
- On a windows or Mac machine install Docker Toolbox Link here
- On a Linux machine install Docker Engine command line Link here
- GitHub account Link here (If you have time to try linking the 2 hubs for automated builds & don't have an account)
- DockerHub account Link here
- Internet/Wifi access
- Headphones to listen to video screencasts without disturbing others (Due to time limitations I have omitted these but intend to update the github with links. Headphones are necessary if you don't want to disturb colleagues or get odd looks in the library!)
Advantageous to have (but not essential):
- Experience with using GitHub if not read this.
- Some experience using Linux to develop & install software
Mark Fernandes (IFR)
Introduction to Docker and Software deployment
- Course Introduction: (Exercise using the Etherpad) - What are the barriers to users finding and using your software? Don't click HERE until asked to - no peeking! :-)
- Installing software (Exercise using the Etherpad) - What are the different ways we install software under linux?) Do not click HERE until asked to - no peeking! :-)