Introduction to Docker

https://ubc-library-rc.github.io/intro-docker/

Land Acknowledgement

UBC Vancouver is located on the traditional, ancestral, and unceded territory of the xʷməθkʷəy̓əm (Musqueam) peoples.

Use the Zoom toolbar to engage The Zoom toolbar

Participants window

The participants menu
annotate menu
annotation toolbar

I have never used virtual machines or virtual environments.

I use virtual machines, virtual environments, and containers in my workflow


Learning Objectives

  • Have an understanding of computational environments and Docker containers
  • Identify Docker use cases and explain common terminology
  • Use existing Docker containers for common tasks
  • Get familiar with the process of building your own containers

Pre-workshop setup

  • Optional: Set up Docker on your system

For more information, check out Docker Installation

What is Docker?

Some Definitions

  • Apps
  • Operating System\Kernel
  • Process
  • Instance
  • Library
  • Virtualization

From Wikimedia

Then, what are containers?

From Netapp

Benefits of Virtualization

  • Using resources efficiently
  • Easier management of resources
  • Minimal downtime

More Terms and Definitions

  • Resource allocation
  • Isolation
  • Layering

Benfits of containers?

  • Lightweight but less fault tolerant
  • Lower overhead
  • Less security

Docker's impact

  • things just work
  • no more struggling with dependencies
  • enables reproducible computing

From knoldus

Paths to Installing Docker

Docker Engine is available through Docker Desktop.

Docker Hub's Playground

https://labs.play-with-docker.com/

A simple activity

From DEV

Docker Hub

Dockerfile

Resources and next steps

Key Takeaways

  • Any software depends on other software pieces to function, but each component evolves in its own time frame.
  • Docker containers are small environments that contain the components needed for a given task
  • Containers are easy to maintain, reproducible, and allow efficient management of hardware resources.
  • Containers are built from a set of instructions and Docker is only one tool for building containers.