resbazaz / Weekly_Projects

Suggest projects to work on at the weekly ResBazAZ Hacky Hour and Coffee & Code meetings
MIT License
5 stars 2 forks source link

Atmosphere GUI Containers #14

Open bjoyce3 opened 7 years ago

bjoyce3 commented 7 years ago

Buzzwords: containers, Docker, Singularity, dependency hell

Problem: Images are limited to having 10 GB installs. Generally this isn't a problem, but with tools that require databases to run (e.g. Trinotate https://trinotate.github.io/) it can be a problem. Also, updating images and then re-imaging can be problematic for myriad reasons.

Background: Atmosphere has several images with Docker installed (https://atmo.cyverse.org/application/images/1457). There are many Docker containers that have been created for bioinformatics research with single tools installed in them (e.g. biocontainers https://github.com/BioContainers/containers).

Proposed idea: Leverage boot scripts on images with docker installed to automatically bring in a container with a tool. Then all someone has to do is update the underlying image and point at the container boot script with the analysis tool of interest.

Potential pitfalls:

  1. Boot scripts cause the image to take forever to finish (user perception issue).
niravmerchant commented 7 years ago

@bjoyce3 There are many other complexities, you may want to try this out and document the steps and see if it makes sense to automate at that level. Many thing can (will) go wrong. I still think it is worth exploring.

User may be better served teaching them how to do this with command line access in Atmo. You have to connect (enter) into running docker instance/container etc for performing analysis.

Some of this will be mitigated by ability to directly run docker jobs in DE (where mounting of local volume and user files is performed on users behalf) and you can point to arbitrary docker hub url/repo