Docker for Beginners

This course is designed to help you get started with Docker. We will cover the basics of Docker, including its architecture, components, and how to use it to build and run containers.

DockerDevOps

Introduction

Build a practical Docker foundation through 16 hands-on activities that progress from your first container to custom images, networking, and persistent storage. Nine guided labs explain the workflow in context, while seven challenges ask you to reproduce key operations with less step-by-step direction.

You will work mainly with the Docker CLI on a single Ubuntu host. The course combines everyday container lifecycle tasks with Dockerfile construction, network isolation and discovery, and volume management, giving you enough breadth to package and operate small containerized applications.

What You Will Learn

After completing this course, you will be able to:

  • Explain the roles of Docker Engine, images, containers, and Docker Hub, then run and inspect your first containers.
  • Pull, search, list, tag, save, load, and remove images while recognizing tags and image layers.
  • Run containers interactively or in the background and manage lifecycle, logs, inspection, exec, and file-copy operations.
  • Configure names, port mappings, bind mounts, environment variables, resource limits, restart policies, networks, working directories, and commands with docker run.
  • Build custom images with Dockerfiles that copy application content, install dependencies, set environment values, and define ENTRYPOINT or CMD behavior.
  • Apply multi-stage builds, .dockerignore, non-root USER, HEALTHCHECK, build ARG, and image labels to Flask and Go examples.
  • Create and inspect bridge networks, connect containers to one or more networks, test isolation and service discovery, and use host or none modes.
  • Create named volumes, persist and share data, mount volumes into containers, and perform a basic archive backup and restore.

Who This Course Is For

This course is for developers, system-administration learners, and DevOps beginners who want to become comfortable with Docker commands before moving to multi-container tooling or orchestration. It starts from first principles but includes increasingly independent challenges and several Dockerfile techniques beyond the simplest container run.

Prerequisites: No previous Docker experience is required. You should be able to navigate a Linux terminal, edit text files, and recognize basic concepts such as ports, processes, files, and directories. Familiarity with simple shell commands will make the challenges easier.

Learning environment: All activities run in supplied Docker-enabled Ubuntu 22.04 environments. Most use a desktop terminal, while the image-building section uses a browser-based code editor; required Docker access and project files are prepared in the labs.

Frequently Asked Questions

Is the course fully guided, or will I need to solve tasks independently?

It contains both formats: nine guided labs teach and demonstrate the concepts, and seven challenges provide target requirements with less procedural guidance. The challenges appear after related instruction so you can check whether you can apply the workflow yourself.

Do I need Docker installed on my own computer?

No. Docker is available in the provided Ubuntu environments, so the course does not require changes to your personal machine.

Do I need a Docker Hub account?

No. You explore Docker Hub and use public images through pull and search commands, but the course does not require signing in, pushing an image, or publishing to a registry.

Does this course cover Docker Compose, Swarm, or Kubernetes?

No. It focuses on Dockerfiles and Docker CLI operations on a single host, including multiple containers connected by Docker networks. Compose files and container orchestration are outside the curriculum.

Teacher

labby
Labby
Labby is the LabEx teacher.