Docker Integration

As of the August 2014 release, Galaxy supports running tools within Docker containers. Tool authors may annotate Docker container ids the tool works with in the Tool XML file and likewise deployers may specify Docker container ids in Galaxy's job_conf.xml file on a per destination basis.

Any of Galaxy's built-in job runners may be used to in conjunction with Docker - but the deployer must annotate job destinations with how to run Docker (at very least <param id="docker_enabled">true</param> must be added to the destination to enable docker).

Excellent documentation on how to work with Galaxy and Docker was assembled at the Galaxy Community Conference by Aaron Petkau and can be found on Github including a full working example tool and Dockerfile (for SMALT) which also serves as a Docker tutorial. Likewise, the Galaxy User Group Grand Ouest experimented with Docker and Galaxy and documented those efforts here.

More implementation details can be found in Pull Request 401 and a complete description of deployer-centric options can be found in Galaxy's job_conf.xml.sample_advanced.