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
Participants window
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.
A simple activity
From DEV
Docker Hub
Dockerfile
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.