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.
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
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.
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.
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
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.
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
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.
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
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.
Once you’ve got the hang of the basic Docker workflow, this documentation gives great guidance on best practices for writing your own Dockerfiles.