
Learn to manage containers and deploy modern applications with Docker through a hands-on, fundamentals-focused bootcamp that builds a practical Docker environment for deployment in a real environment.
Study the course syllabus and overview, covering containers, Docker architecture, setup on Windows and Linux, essential Docker commands, networking, storage, volumes, and orchestration with Swarm and Kubernetes.
Meet Hamid Karzai, a cloud engineer and infrastructure solution architect with Microsoft and VMware certifications, who shares virtualization, cloud, disaster recovery, and container environments from banking data centers.
Explore the container philosophy and fundamentals, benefits in the development lifecycle, and core concepts like namespaces and major components. Learn Docker technology, its importance, editions, and how Docker architecture works.
Discover how containers package code, libraries, and dependencies to run consistently across development, test, and production environments using Docker technology.
Discover how containers reduce resource use and hardware costs by packaging an application with its dependencies, libraries, and configuration in portable, lightweight units, without a separate operating system.
Explore container technology and operating system level virtualization, using Linux containers to package apps with dependencies in isolated environments, sharing a single kernel, namespaces, cgroups, and union filesystems.
Explore linux namespaces and how they isolate resources in containers, including mount, ipc, pid, user, network, and uts namespaces.
Master Linux cgroups to limit, isolate, and monitor CPU, memory, disk, and network for a group of processes, enabling on-the-fly throttling in Docker.
Explore container internals by understanding how a docker container runs a complete linux operating system inside a shared kernel, with host processes visible through namespaces and cgroups.
Discover how Docker, an open source platform using OS-level virtualization, delivers software in containers that bundle code, libraries, and configs, ensuring consistent runs across environments. It speeds software delivery.
Explain the differences between virtual machines and Docker containers, showing containers are lightweight, fast to boot, and share the host OS kernel, unlike VMs with a full OS per instance.
Explore Docker editions, including community and enterprise, their release channels, and platform support. Learn enterprise features like universal control plane, private registry, access control, image scanning, and official support.
Explore the Docker engine architecture, including the Docker daemon, the server API, and the client, and learn how the daemon manages images, containers, networks, and volumes.
Explore docker architecture, a client-server model with docker client, daemon, and registry. Learn how images become containers through pulling, running, and pushing between host and registry.
Explore Docker products, learn system requirements, and install Docker on Linux, Windows, and Mac, including using Docker Desktop and deploying a local private registry.
Install Docker on Linux using the repository method: set up the Docker official repo, add the GPG key, enable the stable channel, update packages, and verify Docker installation.
Install Docker Desktop for Windows from Docker Hub using the Windows app, enable Hyper-V on Windows 10 64-bit edition (enterprise or education), and note Windows Server 2016 and 2019 support.
Understand what a docker registry is and how it hosts and distributes images with repositories and tags. Compare registries and learn how to set up a local registry.
Explore docker hub as the primary registry, push and pull images, manage public and private repositories, and integrate with BitBucket or GitHub.
Set up and use a local registry with the registry image to improve privacy and security; run via docker run or docker compose and verify at localhost:5000/v2/_catalog.
Explore the basics of Docker commands, focusing on image and container commands, with an overview of essential management tasks like Docker image, Docker container, Docker volume, and Docker network.
Master practical container and image commands to manage and inspect Docker environments. Learn to run, stop, remove, log, exec into containers, and build, push, pull, and tag images.
Learn to run containers with docker run by pulling images from Docker Hub, naming containers with --name, and listing containers with docker container ls and -a.
Map container ports to free host ports to enable external access; use the -p flag to bind container port 80 to host 808, avoiding port conflicts on private docker hosts.
Learn how to persist Docker container data using volume mapping, mounting a host directory into the container with the -v flag to prevent data loss when removing containers.
Learn to run docker containers in detached mode or foreground mode, using the -d flag to run in the background, get the container id, and stop it.
Learn to run containers in interactive mode with Docker run -it, allocate a pseudo-tty, and access command prompt inside the container for debugging, then detach without stopping using Ctrl-P Ctrl-Q.
Learn to start, stop, pause, and restart Docker containers, using timeout options, and understand how stopping releases resources while pausing preserves them, plus the difference between stop and kill.
Learn to run commands in a running Docker container with docker exec, specify the container name or id, and optionally start an interactive bash session with the -it flag.
Learn to remove docker containers with docker rm using ids or names; stop, then use -a or --force, or docker container prune to remove unused containers, images, volumes, and networks.
Rename running docker containers with the docker rename command, using old and new names; learn that container IDs stay the same, and use meaningful names with --name for easier identification.
Learn how to inspect docker containers to reveal structure and details. Use the docker inspect command to view container id, name, image, networks, volumes, and host config.
Copy data between the docker host and a container using the docker cp command, specifying source and destination with the container:path delimiter, as shown in the host-to-container example.
Understand how Docker images form the basis of containers through layered architectures, including base layers and immutable layers, with a writable top layer for changes.
Learn to create Docker images by building from a Dockerfile or from a running container, understanding image layers and the structure of a Dockerfile for project-specific images.
Learn how a Dockerfile defines a Docker image with layered instructions such as FROM, RUN, EXPOSE, and CMD, and how these lines build and run containers.
Create a web server image with a dockerfile, starting from a base image, updating packages, installing Apache, copying files, and exposing port 80.
Learn to create a new image from a running container by modifying its filesystem, then commit the changes and tag the new image, while avoiding production use.
Master Docker image commands to manage images efficiently. Use Docker image ls with -a and -q to list images, then inspect metadata and history for layers.
Learn to remove docker images with docker image rm or docker rmi, delete by name or id, and remove dangling or all unused images using a flag.
Build a docker image from a Dockerfile using docker build. Tag the image with -t and specify the Dockerfile with -f or use the current directory with a dot.
Tag Docker images with Docker build -t or the Docker tag command to label images with a repository and tag, then push or pull them from registries.
Learn how to pull Docker images from registries such as Docker Hub using the image pull command, and understand default latest tag behavior when no tag is specified.
Understand why pushing images to a docker registry enables sharing through public or private registries. Prepare image with proper naming, log in to Docker Hub, and push via docker push.
Introduce the container networking model (cnm) and leap network, and explain sandbox, endpoint, and network components with drivers and ipam concepts.
Explore Docker network drivers, from bridge and host to overlay and macvlan, and learn how multi-host networking and swarm enable container communication across hosts.
Learn to manage docker networks with the command line interface, including creating networks and connecting containers. Use docker network ls and docker network inspect to view drivers, IDs, and configurations.
Create and customize docker networks with docker network create, using --driver and optional flags to set subnet, ip range, gateway, and ipv6, then list networks with docker network ls.
Connect or disconnect a container to a network using two approaches: Docker run --network or Docker network connect. Once connected, containers communicate with others on the same network.
Learn how to remove Docker networks: list networks, disconnect containers from the network, and use docker network rm to delete networks while noting the default bridge cannot be removed.
Learn to manage data in Docker by using volumes, bind mounts, and tmpfs mounts, and distinguish persistent from non-persistent storage to prevent data loss.
Learn to manage Docker volumes from the command line, including Docker volume create, list, inspect, and rm, with mounting into containers and persistence beyond lifecycles.
Explore the differences between volumes and bind mounts for data persistence in Docker, with volumes managed by Docker and persistent across containers, while bind mounts map host paths into containers.
Explore docker volumes and bind mounts to attach data to containers using dash v and dash dash mount flags, including source, destination, and read-only options.
Learn to start a container with volumes using -v or --mount, create and manage docker volumes, and keep data persistent beyond the container lifecycle.
Learn to start a container with bind mounts, mapping a host directory into the container using type=bind and the --mount flag, and compare -v versus --mount behavior for missing paths.
Discover how Docker Compose runs multiple containers as a single service using a YAML file to configure apps, services, networks, volumes, and to manage the lifecycle with a single command.
Ensure docker engine is installed; on Windows or Mac compose is included, while on Linux you install compose separately by downloading the binary, making it executable, and symlinking.
Learn to create a docker compose template to run multi-service applications, configure networks, volumes, ports, and environment variables, with examples using a database and WordPress.
Create a simple docker compose yaml file to run multiple containers, define services, volumes, networks, and environment variables, and map ports with compose up.
Explore Docker Swarm as the container orchestrator by examining swarm mode, architecture, and major components, and compare it with the most popular Docker orchestrator, while gaining hands-on experience managing services.
Learn how Docker Swarm provides container orchestration through clustering multiple hosts, ensuring high availability, load distribution, and coordinated scheduling with manager and worker nodes.
Explore Swarm architecture and how a Swarm cluster groups multiple Docker hosts into manager and worker nodes, with a Raft-led leader, service scheduling, fault tolerance, and distributed containers.
Explore the five swarm components—manager nodes, worker nodes, services, tasks, and containers—and learn how managers distribute replicas and orchestrate tasks across the cluster.
Compare Swarm and Kubernetes: Kubernetes offers scaling based on server load with built-in monitoring and load balancing, while Swarm remains simpler with manual scaling and third-party monitoring.
Initialize a docker swarm, join worker nodes, and deploy and scale services within a managed cluster. Inspect cluster status, promote or demote nodes, and remove nodes safely.
Initialize swarm mode on the manager, join worker nodes, and create, deploy, and manage services by scaling and inspecting them across the cluster.
Docker tutorial from A to Z: (Bootcamp)
In this course, you will learn about Containers and Docker fundamentals. Our focus is to provide you a complete boot camp to learn Docker from scratch. It would be effective for anyone interested in learning Docker, containerized application, and who wants to become a master in the container space. From the very first few lectures, we will do a deep dive into the inner workings of containers, so you get a core understanding of exactly how they are implemented. Once you understand what a container is, you will learn how to work with them using basic Docker CLI commands. After that, you will apply your new-found mastery of the Docker CLI to build your own custom images, effectively 'Dockerizing' your own personal applications. Finally, you will learn about Cloud-native app, Docker Swarm concepts, and managing container space in your organizations.
We provide you this course from scratch and you should attend one by one. Meanwhile, we are preparing LAB and exam questions and would be published as soon as they are ready. it will be informative for all who attended this course and who are engaged in the Docker exam.
Please start with the first course. I also appreciate you for commenting and ranking in order to develop the next courses.