The Galaxy Docker Project. our hands-on tutorial

Similar documents
Dockerfile & docker CLI Cheat Sheet

Red Hat Containers Cheat Sheet

Docker Cheat Sheet. Introduction

Running Splunk Enterprise within Docker

Introduction to Containers

INSTALLATION RUNBOOK FOR Iron.io + IronWorker

Who is Docker and how he can help us? Heino Talvik

Container-based virtualization: Docker

Adding Transparency and Automation into the Galaxy Tool Installation Process

Network softwarization Lab session 2: OS Virtualization Networking

Unix Processes. What is a Process?

MYR-2017 SimulATOR user manual

Index. Bessel function, 51 Big data, 1. Cloud-based version-control system, 226 Containerization, 30 application, 32 virtualize processes, 30 31

DGX-1 DOCKER USER GUIDE Josh Park Senior Solutions Architect Contents created by Jack Han Solutions Architect

Best Practices for Developing & Deploying Java Applications with Docker

SQL Server containers with in-container data

Arup Nanda VP, Data Services Priceline.com

Building Your First SQL Server Container Lab in Docker

INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari

Getting Started with Hadoop

docker & HEP: containerization of applications for development, distribution and preservation

Set up, Configure, and Use Docker on Local Dev Machine

An introduction to Docker

Docker 101 Workshop. Eric Smalling - Solution Architect, Docker

Follow me!

Singularity: container formats

Engineering Robust Server Software

Get Started with SQL Server containers with cloned databases

Dockerfile Best Practices

Investigating Containers for Future Services and User Application Support

Booting a Galaxy Instance

Cloud Computing with APL. Morten Kromberg, CXO, Dyalog

" Qué me estás container?" Docker for dummies

User Guide Infoblox IPAM Driver for Docker. Version 1.0.1

Support for Vanilla Universe Checkpointing. Thomas Downes University of Wisconsin-Milwaukee (LIGO)

Introduction to containers

Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory CONTAINERS IN HPC WITH SINGULARITY

Tricks of the Captains. Adrian Mouat. Chief Scientist Container Solutions

agenda PAE Docker Docker PAE

NetApp Jenkins Plugin Documentation

Lesson: Web Programming(3) Omid Jafarinezhad Sharif University of Technology

Containerized Cloud Scheduling Environment

Docker und IBM Digital Experience in Docker Container

Docker Cheat Sheet. Table of Contents. Why Docker

CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY

Microsoft Cloud Workshop. Containers and DevOps Hackathon Learner Guide

Getting Started With Containers

Processes. CS3026 Operating Systems Lecture 05

UNIX System Programming Lecture 3: BASH Programming

~Deep dive into Windows Containers and Docker~

Building A Better Test Platform:

Midterm Presentation Schedule

It s probably the most popular containerization technology on Linux these days

Containers. Pablo F. Ordóñez. October 18, 2018

SQL Server Containers for Developers. Julie Lerman

/ Cloud Computing. Recitation 5 September 27 th, 2016

Code: Slides:

Docker on VDS. Aurelijus Banelis

Docker & why we should use it

Android meets Docker. Jing Li

Build your dev environment with Docker.

/ Cloud Computing. Recitation 5 September 26 th, 2017

FEniCS Containers Documentation

swiftenv Documentation

A Hands on Introduction to Docker

Ellexus Container Checker user manual

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING

/ Cloud Computing. Recitation 5 February 14th, 2017

Walkthrough OCCAM. Be on the lookout for this fellow: The callouts are ACTIONs for you to do!

A curated Domain centric shared Docker registry linked to the Galaxy toolshed

Automating the Build Pipeline for Docker Container

Get your own Galaxy within minutes

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV

CSE 410: Computer Systems Spring Processes. John Zahorjan Allen Center 534

Splunk N Box. Splunk Multi-Site Clusters In 20 Minutes or Less! Mohamad Hassan Sales Engineer. 9/25/2017 Washington, DC

BEST PRACTICES FOR DOCKER

matross Release SNAPSHOT

Technical Manual. Software Quality Analysis as a Service (SQUAAD) Team No.1. Implementers: Aleksandr Chernousov Chris Harman Supicha Phadungslip

Cross platform enablement for the yocto project with containers. ELC 2017 Randy Witt Intel Open Source Technology Center

Docker Container Logging

What you Need to Know about SQL Server and Docker Containers

Hg Mercurial Cheat Sheet

Harbor Registry. VMware VMware Inc. All rights reserved.

Docker on Ubuntu. Install and configure Docker, along with deploying and managing Linux-based containers, on an Ubuntu server.

Introduction to Container Technology. Patrick Ladd Technical Account Manager April 13, 2016

Infrastructure at your Service. Oracle over Docker. Oracle over Docker

for Devs Christopher M. Judd

Be smart. Think open source.

The Classical OS Model in Unix

INFRASTRUCTURE AS CODE

Introduction To. Barry Grant

Deploying applications to Heterogeneous Hardware using Rancher and Docker

Singularity: Containers for High-Performance Computing. Grigory Shamov Nov 21, 2017

W4118: OS Overview. Junfeng Yang

12 (15) Factor App Workshop

LSST software stack and deployment on other architectures. William O Mullane for Andy Connolly with material from Owen Boberg

Docker. Master the execution environment of your applications. Aurélien Dumez. Inria Bordeaux - Sud-Ouest. Tuesday, March 24th 2015

Cloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0

Neale Ferguson

Running Blockchain in Docker Containers Prerequisites Sign up for a LinuxONE Community Cloud trial account Deploy a virtual server instance

Transcription:

The Galaxy Docker Project our hands-on tutorial

Preparation docker pull quay.io/bgruening/galaxy:gcc2016 docker pull quay.io/bgruening/galaxy-docs-slurm:gcc2016 git clone -b gcc2016 https://github.com/bgruening/dockergalaxy-stable.git

Outline Docker basics Galaxy Docker image (usage) Galaxy Docker (internals) Galaxy flavours Here you will learn the internals of the Docker Galaxy Image. We will show you tips and tricks on how to run the Galaxy Docker Image successfully in production, how to manage updates and how to bind the container to a cluster scheduler. Moreover, you will learn how to create your own Galaxy flavour mixing a variety of different tools and visualisations.

Container vs. VM

Docker basics

Container lifecycle containers vs. image data persistence mounting volumes

pull docker pull hello-world docker pull docker/whalesay docker pull bgruening/galaxy-stable:16.01 docker pull quay.io/bgruening/galaxy docker images

bag@bag:~$ docker run hello-world run docker run hello-world Hello from Docker. This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker Hub account: https://hub.docker.com For more examples and ideas, visit: https://docs.docker.com/engine/userguide/

run docker run docker/whalesay cowsay Galaxy % docker run docker/whalesay cowsay Galaxy < Galaxy > -------- \ \ \ ##. ## ## ## == ## ## ## ## === /"""""""""""""""" / === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ \ o / \ \ / \ \ /

run % docker run --help Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container -a, --attach=[] --add-host=[] --cpu-shares... -d, --detach -e, --env=[] --entrypoint --env-file=[]... -h, --hostname -i, --interactive --name --net=default... -P, --publish-all -p, --publish=[] --privileged --rm -t, --tty -v, --volume=[]... Attach to STDIN, STDOUT or STDERR Add a custom host-to-ip mapping (host:ip) CPU shares (relative weight) Run container in background and print container ID Set environment variables Overwrite the default ENTRYPOINT of the image Read in a file of environment variables Container host name Keep STDIN open even if not attached Assign a name to the container Connect a container to a network Publish all exposed ports to random ports Publish a container's port(s) to the host Give extended privileges to this container Automatically remove the container when it exits Allocate a pseudo-tty Bind mount a volume

Control during startup % docker run -i -t -p 8080:80 -p 8021:21 -p 9002:9002 -v /home/user/galaxy_storage/:/export/ --privileged=true -e "NONUSE=reports" -e "GALAXY_CONFIG_ADMIN_USERS=albert@einstein.gov" -e "GALAXY_CONFIG_MASTER_API_KEY=83D4jaba7330aDKHkakjGa937" -e "GALAXY_CONFIG_BRAND='My own Galaxy flavour'" -e "GALAXY_LOGGING=full" quay.io/bgruening/galaxy

exec Run a command in a running container % docker exec <container name> supervisorctl restart galaxy:

stop Stop a running container. Sending SIGTERM and then SIGKILL after a grace period % docker stop <container name>

build Build an image from a Dockerfile % docker build -t image_name <Dockerfile>

ps List containers % docker ps

Galaxy Docker Container https://github.com/bgruening/docker-galaxy-stable FTP-Server Webserver Scheduler Process control UI ToolShed ready Interactive Environment ready docker run -i -t -p 8080:80 quay.io/bgruening/galaxy:gcc2016 doi: 10.5281/zenodo.51627

Things to try adding Data integrated FTP server becoming an Admin restart Galaxy using export mounts (persistent data) trouble shooting (logging) installing tools install visualizations (biojs)...

Galaxy + SLURM = https://github.com/bgruening/docker-galaxy-stable/tree/dev/docs Running_jobs_outside_of_the_container.md

Docker flavours

Galactic Flavours NCBI-Blast ChemicalToolBox ballaxy NGS-deepTools Galaxy ChIP-exo Galaxy Proteomics Imaging Constructive Solid Geometry Galaxy for metagenomics Galaxy with the Language Application Grid tools RNAcommender OpenMoleculeGenerator

Create your own Flavour # Galaxy - My own flavour # # VERSION 0.1 FROM quay.io/bgruening/galaxy:gcc2016 MAINTAINER Björn A. Grüning, bjoern.gruening@gmail.com ENV GALAXY_CONFIG_BRAND deeptools # Install Visualisation # RUN install-biojs msa # Adding the tool definitions to the container ADD my_tool_list.yml $GALAXY_ROOT/my_tool_list.yml # Install deeptools RUN install-tools $GALAXY_ROOT/my_tool_list.yml

The tools file api_key: admin galaxy_instance: http://localhost:8080 tools: - name: fastqc owner: devteam tool_panel_section_id: cshl_library_information tool_shed_url: https://toolshed.g2.bx.psu.edu #revisions:

Galaxy Flavor Generator https://github.com/galaxyflavorsgenerators/galaxyflavorgenerator