
Discover how Docker works, learn to run containers, build images, and use networking with Docker Compose and a private registry, then explore Docker Swarm and Kubernetes through browser-based labs.
Docker packages each component—node.js, MongoDB, Redis, and Ansible—into its own container on a single VM, solving the matrix from hell by ensuring end-to-end compatibility across OS, libraries, and dependencies.
Discover how containers create isolated environments with their own processes, networks, and mounts, sharing a single OS kernel, and how Docker evolved from LXC to runc under OCI.
Learn how Docker containers share the Linux kernel to run various Linux-based distros on a single host, and how Docker packages applications to run anywhere without true virtualization.
Contrast virtual machines and Docker containers: containers share the host OS and libraries for lightweight, fast boot, while VMs run separate OSs with heavier overhead and full isolation.
Explore container images and containers, using registries like Docker Hub and others, run services with docker run, and create or push your own images to the registry.
Developers and operations teams collaborate to transform the guide into a Dockerfile with their requirements, and create an image that runs the same on any host with Docker installed.
Learn how to start with docker, from the old community and enterprise editions to the modern docker engine, and compare installation options on linux, mac, windows, or cloud.
Install Docker Engine on an Ubuntu Linux VM, verify prerequisites, install via the apt repository, start Docker, and run the Hello World image to confirm.
Focus on the course labs and videos to gain the necessary knowledge and skills, avoiding premature local setups until the course provides the right resources.
Explore docker basics by running your first container, pulling images from Docker Hub, and using Alpine and Nginx to understand base images, web servers, and container workflows.
Explore docker image and container management by listing images, freeing space with docker rmi after removing containers using an image, and cleaning up with docker system prune.
Access hands-on labs right in your browser via Code Cloud; Udemy credentials won't work there, so create a Code Cloud account and use the maximize button to hide the curriculum.
Learn how Docker handles input and terminals with interactive mode (-i) and pseudo terminal (-t). Use -i, -t, or -it strategically for prompts, piping data, and colored output inside containers.
Master port mapping in Docker by exposing container ports to the Docker host, enabling access via the host IP on mapped ports and supporting multiple apps on distinct ports.
Persist data in Docker by mapping the host directory /opt/data to /var/lib/mysql, so data survives container removal; use -v or --mount, with the latter clarifying the mount type.
Use docker inspect to get container details in json, including state, mounts, network settings, beyond docker ps, and view logs with docker logs by container id or name.
Learn to create your own docker image for a Flask web app, using a Dockerfile, base Ubuntu, environment variables, and entry point, with layered caching and pushing to Docker Hub.
Build a custom Docker image from Ubuntu by installing Python 3 Flask, copying app source code into the image, and setting the environment variable, then run with port mapping.
Identify four problems with the traditional docker builder—re-downloading packages, secrets leaking in image metadata, architecture lock-in, and sequential stages—and anticipate how docker fixes them.
Docker init acts as a template scaffolder that generates a ready-to-edit Dockerfile, .dockerignore, compose.yaml, and readme.docker.md for new projects, applying multi-stage builds, slim images, and non-root user best practices.
Explore how docker run, commands, and entry points determine what starts in a container, contrasting cmd and entrypoint and using --entrypoint for runtime overrides.
Configure a dockerized Python app with environment variables. Use docker run -e to set colors and docker inspect to view container environment variables for different containers.
Learn to orchestrate multi-service applications with Docker Compose, using YAML configuration to connect Redis, PostgresQL, and microservices via Docker networks on a single engine.
Demonstrates running the full application stack with docker compose, defining five services (vote, result, worker, redis, db), mapping ports 8080 and 8081, and building images for launch.
Learn how the Docker engine runs applications in isolated containers through the daemon, REST API, and CLI, with three handoffs to container D and run C implementing the OCI runtime.
Explore how docker uses namespaces to isolate process IDs, network, IPC, and mounts, giving each container its own PID namespace and the sense of its own system.
Discover how Docker uses cgroups to restrict cpu and memory for containers, using the dash dash CPUs option and the dash dash memory flag to cap resources.
Learn how docker stores data on the local file system under /var/lib/docker with image and container layers, writable layers, and volumes, using copy-on-write and mounts.
Explore how Docker images are stored in registries, including Docker Hub and private registries, and learn to push, pull, and manage images with Docker login and tag commands.
Run linux containers on macOS with Docker Desktop, which uses Apple's virtualization to host a linux VM on intel and apple silicon. Learn multi-arch support, Rosetta 2 translation, and licensing.
Explore container orchestration as a solution to run containers across multiple hosts in production. Learn how it enables health checks, scaling, load balancing, and shared storage.
Learn Docker Swarm basics, forming a multi-host cluster with a manager and workers, initializing with swarm init, joining workers, and using Docker service to deploy replicas across nodes.
Explore Kubernetes concepts with kubectl to deploy deployments, manage thousands of replicas, and perform rolling upgrades and rollbacks, while understanding nodes, master, etcd, API server, scheduler, and runtimes.
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.
This course introduces Docker to an Absolute Beginner using really simple and easy-to-understand lectures. Lectures are followed by demos showing how to set up and get started with Docker. The coding exercises that accompany this course will help you practice Docker commands, develop your own images using Dockerfiles, and practice Docker Compose. You will be developing Docker files for different use cases right in your browser. This way, you don’t really need to have your own environment set up to get some hands-on practice. The coding exercises will validate your commands and Dockerfiles and ensure you have written them correctly.
And finally, we have assignments to put your skills to the test. You will be given the challenge to solve using the skills you gained during this course. This is a great way to gain real-life project experience and work with the other students in the community to develop a Dockerfile and get feedback for your work. The assignment will push you to research and develop your own Docker images.
Our tools, courses, and resources will help you improve your Docker skills and help you gain a true understanding of the program.
Disclaimer
This course requires you to download Docker Desktop from the official website. If you are a Udemy Business user, please check with your employer before downloading this software to ensure it aligns with your organization’s internal policies.