
Container Basics
This section explores the container management systems Docker and Podman. The labs also cover the low-level components of the Docker system e.g. containerd, runc. Beginners will learn how to perform the basic operations like pushing, pulling, creating and running containers.
What will you learn?
Using Docker client to perform basic operations including push, pull, build images and interacting with container/network
Using podman to create, manage and interact with containers, images and networks
Interacting with containerd to run containers
Running Docker containers using Docker image with runc and umoci
References:
Why Docker? (https://www.docker.com/why-docker)
What is a container? (https://www.docker.com/resources/what-container)
Getting started with Docker (https://docs.docker.com/get-started/)
What is Podman? (https://podman.io/)
RunC runtime (https://github.com/opencontainers/runc)
Labs:
In this lab, you will learn to perform the basic operation with Docker CLI. A non-exhaustive list of topics to be covered includes:
Check Docker and Docker host information
Pull and list Docker images
Run and interact with container
List and inspect containers
List and manage networks
Build and push image
Commit a running container
Export image as tar
Remove image/container/network
In this lab, you will learn to perform the basic operation with ctr (containerd) CLI. A non-exhaustive list of topics to be covered includes:
Check ctr version
Pull and list Docker images
Create and list container
Start, pause, resume, kill, delete task and attach to a task (running container)
Export image as tar
Push and delete Docker image
In this lab, you will learn to perform the basic operation with Podman CLI. A non-exhaustive list of topics to be covered includes:
Check Podman information
Pull and list images
Run and interact with container
List and inspect containers
List and manage networks
Build and push image
Commit a running container
Export image as tar
Remove image/container/network
In this lab, you will learn to fetch and run a Docker image without using Docker. A non-exhaustive list of topics to be covered includes:
Using curl to list images/tags present on local Docker registry
Fetch the image using curl
Using umoci to convert OCI image to image bundle
Run the image using runc