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
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.