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:

  1. Why Docker? (https://www.docker.com/why-docker)

  2. What is a container? (https://www.docker.com/resources/what-container) 

  3. Getting started with Docker (https://docs.docker.com/get-started/) 

  4. What is Podman? (https://podman.io/)

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

  • Containerd Basics Lab

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

  • Podman Basics Lab

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

  • Containers With Runc

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

User Avatar

Docker Basics Lab

FREE LAB
User Avatar

Containerd Basics Lab

User Avatar

Podman Basics Lab

User Avatar

Containers With Runc

User Avatar

Multi Container Setups

User Avatar

Cgroups and Namespaces