Link

Resources

Below you’ll find broad categories anchoring further learning resources which are focused on Docker in general, reproducible computing for academia and data science, Docker security, and a stronger computer science/software development focus.

There are also curated learning resources within the Docker docs themselves, including tutorials, books, and online courses.

General Docker Resources

Videos

Michele Finelli’s talk on the history of containers and VMS - 25 minute overview shedding more light on the history leading to present day Docker

Learning Activities

This 30-minute Docker for Beginners lab takes place entirely within the browser, and assumes no special knowledge of Docker. It’s a great opportunity to test your command line skills in advance of diving deeper.

Once you’ve got Docker installed on your operating system, this Docker Labs beginner’s tutorial is a great way to dive deeper into hands-on Docker mastery.

Documentation

Cover of Julia Evans' zine on Linux containers If you’d like to get a better overview on containers in general, check out the “How Containers Work” zine produced by the awesome Julia Evans, aka b0rk

Additionally, this click-through presentation on Docker is targeted to those with an interest in Open Educational Resources (OER).

This thorough guide was just published recently, walking through the basics of Docker up to creating Dockerfiles from a data engineering perspective!

Finally, this blog post walks through 10 concrete use cases for Docker, linking out to relevant apps and images.

Reproducible Computing in Academia

Videos

This ‘setting the scene’ conference talk - 26 min pragmatically covering the various tools, components, and best practices for reproducible research workflows

Responding to reproducibility challenges from physics to social sciences - 44 min talk on the unique challenges across academic disciplines for reproducible research

Building reproducible workflows for earth sciences: The role of containers in reproducible workflows - 23 min deep dive on containers for reproducible computing, including gaps and challenges

Publishing reproducible geoscientific papers - 40 min giving the most thorough overview I could find of the possibilities of providing immediately reproducible datasets and research methods using containers

Building reproducible workflows for earth sciences: reproducing new and old operational systems - 12 min talk addressing lessons learned in reproducible computing practice

Building reproducible workflows for earth sciences: Scaling reproducible research with Jupyter - 36 min walkthrough from Project Jupyter’s Carol Willing, making recommendations for a research reproducibility pipeline

Learning Activities

Check out this great workshop on Docker for Reproducible Computing.

This workshop uses concrete research data and methods from a study on MRSA to demonstrate Docker for reproducible computing.

Presentation and tutorial on achieving data persistence in Docker environments - a little outdated, but a great match for reproducible computing use cases.

Documentation

This article gives an overview of academic uses of Docker for reproducible research

This article proposes a practical implementation for computing reproducibility in the life sciences

This blog post covers a sociologist’s integration of Docker into his research workflow

This article investigates the utility of Singularity containers for computing mobility

Docker Security

Videos

Technical lecture on security for Docker - 68 min covering security best practices, specific tools, and a demo

Network view of Docker: Security webinar - 40 min overview largely focused on software deployment use cases

Documentation

Docker’s own documentation on best security practices is a great start for understanding security concerns.

In particular, understanding how to determine whether to trust Docker content is important.

Additionally, this security engineer posted a deep dive blog post focused on protecting sensitive information in Docker images.

Keep in mind that Docker’s ecosystem is not immune to security concerns; smaller registries may make operational security mistakes, and even the most mainstream registry Docker Hub reported a user data hack last year.

Computer Science and Software Development

Videos

Demystifying Docker and Docker-Compose - 25 min deep dive, containerizing one application as an example.

Jupyter Notebook installed using Docker - 8 min walkthrough, a great example of a potential everyday use case for academics

Spinning up a PostgreSQL database using Docker - 12 min walkthrough for a common software deployment use case

Learning Activities

This Docker tutorial walkthrough presents the basics of Docker as relevant to a devops role in software deployment.

Another tutorial walkthrough, which requires some comfort with command line, can bring you even deeper into mastering Docker for more software-focused use cases.

Documentation

Once you’ve got the hang of the basic Docker workflow, this documentation gives great guidance on best practices for writing your own Dockerfiles.