Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Wrangling Computing Environments: Using Docker for Research

Fred Hutchinson Cancer Center via Coursera

Overview

Coursera Plus Annual Sale:
All Certificates & Courses 40% Off!
Grab it
The course includes hands-on exercises for how to use, modify, share, and troubleshoot containers for scientific software development purposes. Goal of this course: Equip learners with basics skills and confidence to utilize containers within the context of scientific software analyses. Expectations: This course is not meant to teach learners how to create complex containers, but instead introduce learners to basic fundamentals of continuous integration and continuous deployment (CI/CD). This course focuses on containers (Docker or Podman) and will not cover any other (perfectly fine) tools for CI/CD. Equipping researchers with the skills to create reproducible data analyses increases the efficiency of everyone involved. By recognizing that biological data analysis code is a form of software development, we can try to adapt good development practices in scientific analyses and software contexts. Scientific software projects may include (but aren’t limited to): - Software built as tools to be utilized by others to analyze biologically derived data - Code that is built primarily for analyzing one project’s data - Code that is built as a workflow for a series of steps and analyses that might be reused among collaborators or within a lab - Any scripts and code that are built to handle data in a research setting - Any scripts and code a researcher might interact with Containers are one tool among many for creating reproducible analyses. A container is a lightweight, portable, and isolated environment that encapsulates an application and its dependencies, enabling it to run consistently across different computing environments. Many individuals performing analyses on cancer data may not have formal training in software development and may be unfamiliar with the idea of containers. Unique Features of This Course - Hands-on exercises exploring real uses of containers for scientific research and software - Activities to demonstrate the common pitfalls using containers - Information about how to use two of the most common tools for containers: Docker and Podman Key Words Reproducibility, Containers, Podman, Docker, Scientific Software Development, Biomedical Research Intended Audience/Required Knowledge - The course is intended for researchers and research staff who might be interested in learning about using containers to make their research or scientific software more reproducible. - Some familiarity with biomedical or health-related research, as well as some familiarity with programming (including bash and command line) is required. Learning Objectives - Understand that computing environments are moving targets - Use containers to share a controlled computing environment - Pull and use a Docker image from online - Modify a Docker image - Build a Docker image from scratch - Troubleshoot the most common Docker related errors Accessibility We are committed to making our content accessible and available to all. We welcome any feedback you might have at https://forms.gle/SzuZjct4ZQyt3Cos7. Questions related to accessibility accommodations should be directed to https://studentserviceportal.force.com/s/.

Syllabus

  • Introduction
    • In this first module, we will cover how this course will work and the motivation for using containers for reproducible research
  • Getting started with Containers
    • In this section, we will go over the basic usage of containers. We walk through how to pull images and run containers.
  • Modifying containers
    • In this section we walk through how to modify containers using dockerfiles
  • Best Practices for Containers
    • In this section we walk through how to what are the best practices for container usage, how to clean up your workspace, and how to troubleshoot your containers and images.
  • Wrapping up
    • In this section we will wrap up this course by talking about how to use containers as a dev space as well as some advanced techniques you may want to learn. We will finish up with a knowledge check.

Taught by

Candace Savonen, MS

Reviews

Start your review of Wrangling Computing Environments: Using Docker for Research

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.