
Meet your instructor, Carol Gupta, a DevOps engineer with six AWS certifications who guides you through Amazon ECS, cloud architecture, deployment, and containerizing applications.
Explore Docker installation methods across cloud servers and on premises, including yum and apt installs and Docker Desktop on Windows or Mac OS, with guidance for cloud and desktop usage.
Install Docker on an Amazon Linux AWS EC2 instance, use yum to install, configure SSH access, add your user to the Docker group, start service, and verify with docker ps.
Sign up for a docker hub account to download images and explore repositories, then log in to access images like ubuntu and hello world and manage your own repositories.
Explore containerization by building lightweight, portable containers that bundle code, dependencies, and runtime essentials. Learn how containers run consistently across environments with Docker, optionally orchestrated by Kubernetes.
Compare virtual machines and Docker containers by examining hypervisor-managed guest OS vs host kernel, highlighting heavier VM architecture, lighter container design, faster boot, and portable microservices use.
Explore the Docker client–server architecture, where the client calls the Docker daemon to build, run, and distribute containers using images from the registry.
Discover Docker’s benefits—lightweight and fast start-up, portable build-once-run-anywhere images, scalable isolation, and CI/CD friendly workflows with versioned tags.
Explore docker images as lightweight blueprints bundling the operating system, dependencies, and app code to run containers, with official and custom images and registries like Docker Hub and AWS ECR.
Explore docker images commands by listing local images, pulling from registries, and inspecting image history to see layers, while learning the image syntax with registry, repository, and tag.
Learn to list Docker images, pull new images, and view image history using legacy and new syntax, then search, download, and inspect images like Ubuntu and BusyBox.
Explore docker image management with tags, removal, and the essential inspect command. Learn to retrieve detailed image metadata such as the image ID, creation date, size, and configuration.
Learn to manage docker images with tagging, removing, and inspecting commands, including tagging to a specific name, and inspecting image id, tags, digest, architecture, and size.
Explore the Docker images command, learn to use version, search, help, and manual options to find, compare, and implement stable image versions, illustrated with Jenkins examples.
Download a specific Docker image version using tags and identify the version you need. Search images with docker CLI and review tags and official images like httpd and jdk variants.
Use docker help to view all commands and options in the command line interface for documentation, and use docker manual to access detailed synopsis, description, and options for deeper learning.
Log in to docker hub with docker login, using email as username and a password or personal access token, then create and push your custom image.
Learn the core Docker container commands: run, ps, stop, rm, including detached mode, port mapping, naming containers, and interactive terminal for managing container lifecycles.
Run containers with docker run using an image name or id, and list containers with docker ps and docker ps -a to see hello world and BusyBox examples.
Learn how to stop a running Docker container and remove it with docker rm, including force removal with -f and using container IDs or names.
Learn how to run a docker container in the background to keep nginx active. Use docker run -d to start in background and monitor with docker ps.
Demonstrates removing the image of a running container in Docker by untagging, using Nginx as an example, and explains why an untagged image may remain after force removal.
Understand the differences between docker create, docker run, docker start, and docker restart, with practical use cases for creating, starting, and refreshing containers from images.
Learn the differences between docker create, run, start, and restart, and see how to pre-configure, start, run, and restart containers with nginx in real time.
Learn to inspect docker containers for detailed config, IP addresses, volumes, and networking, rename containers without downtime, and stream logs to troubleshoot and monitor application behavior.
Name a docker container for clarity, then run it in background with a name using docker container run -d, and inspect for ID, state, ports, and IP and MAC addresses.
Learn how to rename Docker containers with docker container rename and monitor them with docker container logs, including tail to view the last five lines.
Pause containers to suspend all processes and free resources during maintenance, then resume execution with docker compose using the container name.
Learn to temporarily pause and resume Docker containers using docker container pause and docker container unpause, verify states with docker ps, and see effects on Nginx and Apache containers.
Master how to enter a container using docker run -it to start and docker exec -it to attach to a running one, with interactive terminals and basic commands.
Attach a background container to the foreground using the docker attach command to view real-time output and interact with its running process.
Identify dangling images as untagged, unused image layers and learn how docker image prune removes them to free space for deployment and keep environments clean.
Learn how to reclaim disk space with docker prune, using docker container prune and docker image prune to remove stopped containers and unused images.
Understand Docker restart policies to auto restart containers after crashes or non-zero exits, with options no, always, on-failure with retries, and unless-stopped, applied via docker run.
Demonstrate docker restart policies by running a container that exits on failure and restarts three times with on-failure, a sample script, dockerfile, using docker run, docker ps, and docker inspect.
Explore port mapping to expose a docker container externally by linking host ports to container ports with docker run -p, including mapping host 8080 to container 80.
Inspect containers to obtain their IP addresses, verify access with curl, and learn how port mapping exposes nginx containers on the host for web access.
Access a dockerized app in the browser using port mapping. Map host ports to container ports with docker run -p, and use the host IP and port to reach app.
Learn to automatically remove a container after completion by using docker run --rm, preventing exited containers from occupying memory, as demonstrated with a hello world example.
Explore the core components of a Dockerfile, including the base image, run, copy or add, working directory, and how to set environment variables, cmd, and entrypoint for reproducible images.
Build a basic ubuntu-based Dockerfile using FROM and CMD to echo hello world, then build with docker build, inspect images, and run the container to see output.
Learn to create a Dockerfile with from, workdir, and copy commands; build and run images, exploring relative and absolute paths, contexts, and tags.
Learn to run an external shell or Python script in a Dockerfile by copying it into an Ubuntu-based image and invoking it with a command; build and run the image.
Learn how to use the RUN command in a dockerfile to install dependencies like git by updating the ubuntu image, then build and run the container.
Learn to declare and use environment variables and labels in dockerfiles, build and run images, and inspect metadata to manage configuration and documentation.
Learn how to specify the path of a dockerfile from another folder using docker build -f, with an example showing the Ubuntu base and hello world.
Create a dockerfile to run as a non-root user, adding a user and switching to it for commands, then build and verify with who am I and docker ps.
Explore the use of arg for runtime variables in a Dockerfile, compare it with env for persistent build-time variables, and see practical examples with Docker build and Docker run.
Explore the difference between entrypoint and cmd in docker, showing how entrypoint runs a fixed command while cmd provides arguments, with practical examples using ubuntu, echo hello world, and sleep.
Learn how the docker file expose command declares container ports and when -p maps them to the host, making the container accessible from outside.
Learn to configure build context in a Dockerfile by using explicit paths across folders, copy files from the context, and build and run containers with Docker.
Compare copy and add in Docker, showing how add handles external URLs and zip or tar archives, then build a Dockerfile using Ubuntu and view files in /app.
Learn practical strategies to shrink Docker images, including using minimal base images like Alpine, multi-stage builds, cleaning up after installs, avoiding unused packages, and leveraging a .dockerignore file.
Learn to build small, secure docker images with multi-stage dockerfiles that separate build and runtime, using stage one for dev dependencies and stage two for a minimal runtime.
Learn how to implement a practical docker multi-stage build with node.js, building a two-stage workflow from dependency installation to a lightweight production image and running on port 3000.
Explore docker hub, a cloud based registry to store official and user images with automated builds and CI/CD integration. Learn login, push, pull, tags, and access controls for private repositories.
Learn Docker login to Docker Hub using passwords or tokens, then log out and adopt token-based authentication as a secure practice for pushing images.
Push docker images to Docker Hub by building from a dockerfile, tagging versions (v1, v2), and logging in with an access token to push.
Pull and use custom images from Docker Hub by pulling specific tags, removing old containers and images, and running new images with docker run.
Discover how Docker storage preserves data using volumes, bind mounts, and temporary storage, with use cases for databases, logs, and configuration sharing.
Explore the default docker storage at /var/lib/docker and overlay two layers, including the lower, merge, upper, and working directories, as files disappear after the container stops.
Understand docker volumes and how docker storage manages named, anonymous, and read-only volumes, with creation and mounting using docker volume create and docker run -v.
Create and manage Docker volumes to persist data, using Docker volume create, ls, inspect, prune, and remove, then map volumes to containers with -v for persistent storage.
Learn docker volume mounting with the mount option, specifying type, source, and destination, and compare it to -v. Create and inspect volumes, run containers, and test read-only and read-write.
Learn how anonymous volumes are created when you omit a volume name and mount a path, producing random ids that are hard to match with containers.
learn how bind mounts map a host path into a container to enable direct access to host files for testing and development, with instant changes reflected in the container.
Explore bind mounts by creating a host directory and mounting it into a container, compare with docker volumes, and use for development and testing with common files.
Understand tmpfs, a Linux-only storage for Docker in memory that is not written to disk. Use it for tokens or session data, since data is lost when stopped.
Explore tmpfs, a temporary in-memory storage inside a docker container that is not persisted after restart, with two mounting approaches.
Explore the docker default bridge network, created at installation, where containers on the private 172 range communicate by ip, not by name, and where dns resolution is not supported.
Create a Dockerfile using the Ubuntu image to install ip utils and net tools for ifconfig and ping, then build and run the image for networking tasks.
Explore host networking in docker, where containers share the host network and ports with no port mapping. This setup delivers low latency and performance for dns, syslog, and load balancers.
Discover docker’s none network, which disables all networking for a container, exposing only the loopback interface with no dns, gateway, or internet access for security testing.
Learn to create and use user defined bridge networks in docker with custom subnets, attach containers, and verify inter-container connectivity via ping and DNS name resolution.
Explore how Docker networking enables container communication across containers, hosts, and external networks. Learn default bridge, host, none networks, plus overlay, macvlan, ipvlan, with on-prem and swarm use cases.
Explore macvlan, ipvlan, and overlay networks in Docker, comparing on-premises and cloud constraints, multi-host communication, and use cases for legacy apps and high-performance containers.
Learn docker compose to launch multiple services with a single docker-compose.yml file, defining services, networks, and volumes. Use compose up to build and run, with scaling and dependencies.
Install docker compose on the Linux server by manually downloading, copying commands, and setting executable permissions, then verify the version to confirm a successful setup.
Explore the new docker compose format, including optional version removal, file naming options (compose.yml, compose.xml), project naming, and the unified docker compose commands like docker compose up.
Set up a Node.js web page with a Redis database using docker compose. Create a Dockerfile and compose.yml, expose port 3000, and run the multi-container app.
Learn essential docker compose commands such as up, build, down, and ps, and use build with up, detached mode, and no-cache to manage and inspect containers.
Explore docker compose commands that mirror docker commands, covering build, run, start, stop, ps, logs, and images, with practical usage and interview-ready insights.
Learn to specify the absolute path to docker files in a docker compose context, configure build contexts, and run a node.js project with docker compose.
Explore docker compose volumes and configure named, anonymous, bind mounts, and tmpfs in a docker-compose file, then map a host storage folder to the container in a Python Flask project.
Learn to deploy a WordPress and MySQL stack with docker compose, using WordPress and database services, environment variables, volumes, and port mapping to persist data.
Explore how to use Docker Compose for single and multi-container setups by building a Python Flask app with a Dockerfile and a docker-compose.yml, then run with Docker Compose up.
Build and run a multi-container application with Docker Compose, featuring a Python Flask app backed by Redis. Create a Dockerfile and docker-compose.yml, map port 5000, and manage service dependencies.
Welcome to the Docker & Amazon ECS Masterclass, a complete hands-on bootcamp designed to make you an expert in containerization, orchestration, and real-world DevOps deployment workflows.
This course is a powerful bundle of two industry-proven programs —
Docker Mastery and Amazon ECS Mastery — carefully combined to give you an end-to-end understanding of how modern applications are built, containerized, and deployed at scale using AWS.
Whether you’re a developer, DevOps engineer, or cloud architect, this bundle will take you from the basics of containers to managing production workloads on Amazon ECS with confidence.
What You’ll Learn
Docker Mastery Section
Understand containerization and how Docker simplifies deployments
Build and manage Docker images and containers
Work with Docker CLI, Dockerfiles, and Docker Compose
Manage multi-container applications
Push and pull images to Docker Hub or private registries
Network containers for scalable microservices
Integrate Docker with CI/CD pipelines
Amazon ECS Mastery Section
Understand ECS architecture: tasks, services, and clusters
Work with EC2 and Fargate launch types
Create and deploy containers on AWS ECS
Configure Load Balancers, Target Groups, and Auto Scaling
Use ECS Service Discovery and Service Connect for inter-service communication
Automate ECS deployments using CloudFormation and Terraform
Integrate ECS with CI/CD and monitoring tools
Start Your DevOps Journey Today
Join thousands of learners mastering the art of containerization and orchestration — and take your Docker and ECS skills to the next level.
Enroll now and become a Cloud-Ready DevOps Engineer!