
Master Docker fundamentals and advanced concepts, including images, volumes, networking, and Docker Compose, through hands-on labs. Explore Docker Swarm orchestration and its comparison with Kubernetes.
Trace the evolution from separate servers to virtualization and containers. See how Docker reduces upfront costs and inefficiencies, with theory and practical labs.
Explore how VMware and the hypervisor turned a single server into multiple virtual machines, boosting resource utilization. Understand the cost savings and the challenges of licensing, patching, and admin overhead.
Explore how Docker containers replace monolithic architectures, enabling isolated microservices on a single server to scale with traffic while simplifying patching and maintenance.
Explore Docker as a technology that runs apps inside lightweight, standalone containers, packaging code, libraries, and runtime for isolation on any host, with community edition.
Choose the right Docker installation: Docker Desktop for local development or Docker Engine for servers, and learn about core components like Docker client, Docker Compose, Docker Content Trust, and Kubernetes.
Learn to install Docker Desktop on a Mac, choose the Intel or Apple silicon DMG, start Docker, clone a GitHub repo, and run a container on port 8080.
Discover how to install the Docker engine on Linux-based servers for production, including system requirements, SSH access, and deploying on Digital Ocean with a $200 credit.
Create a linux server on digital ocean by deploying a droplet, then access it via browser console or IP to install the docker engine.
Install and configure the Docker engine on an Ubuntu Linux server, verify with Hello World, and install Docker Compose for multi-container environments.
Learn how to verify a Docker installation and configuration on a server, inspect Docker client and server versions, and explore essential Docker commands for containers, images, and management.
Understand how Docker containers enable efficient, portable deployment by packaging code, runtime, and libraries into container images and running isolated containers from a registry like Docker Hub.
Execute and manage web applications in docker containers by running nginx from the official nginx image, publishing host-to-container ports, and running containers in foreground or detached mode.
List running and all containers on the host with docker container ls and docker container ls -a, then manage status by stopping and starting with docker container stop and start.
Define static container names with the --name flag and map host ports with -p and -d. Explore logs and top processes, and remove non-running containers with docker container rm.
Compare containers and virtual machines by resource allocation, OS virtualization, and portability; containers share the host OS via Docker Engine, are more portable, efficient, and scalable, unlike virtual machines.
Learn how to run containers with user supplied arguments using environment variables, such as setting a MySQL root password with -e during docker run.
Master container monitoring using Docker stats, top, inspect, and logs to track CPU and memory usage, processes, and port details at runtime.
Discover how to access and run commands in running docker containers using interactive mode with docker run -it and docker exec to open shells or to run MySQL commands.
Set up an end-to-end web application using Docker containers, including a MariaDB backend and WordPress frontend, with static container names and environment variables for secure access.
Set up an end-to-end web app in docker by provisioning mariadb and wordpress containers with env vars for credentials, then create a shared network and map ports for access.
Learn how Docker networks connect containers and the host, enabling IP-based communication on bridge networks for single hosts and overlay networks for multi-host setups.
Explore docker container networks, including bridge and overlay, and learn port mapping with -p, plus using docker port and docker inspect to identify container IPs.
Master Docker network operations with the Docker CLI, learning to list, filter, format, inspect, create, connect, disconnect, prune, and remove networks to manage runtime environments.
Learn how DNS translates domain names to IP addresses and how Docker uses DNS in a dedicated bridge network to let containers communicate by name rather than IP.
Define Docker images, their components, and how they bundle data, file systems, libraries, and dependencies to run containers. Build, deploy, and manage images locally, and explore Docker Hub.
Learn how the Docker Hub central repository provides images by default, how tags control versions, and how to pull specific Redis or Alpine images with docker pull.
Explore how Docker image layers form a multi-layer image through the union file system, created by Dockerfile steps, and how digest, history, and caching save bandwidth.
Tag docker images to version and manage variants with docker tag, capturing the image version or variant, with latest used when no tag is specified.
Upload your Docker image to a cloud registry such as Docker Hub by logging in, tagging, and pushing to a repository, while understanding tags and layers.
Learn how to build custom docker images from a docker file using the proper syntax and instructions; explore layers, the docker build command, and docker hub resources.
Learn how to use docker file instructions to build images, including from, base image, labels, run, cmd, expose, env, add, copy, volume, and workdir.
Create a custom docker image by writing a dockerfile, building with a tag, and customizing a base image like ubuntu to include nginx, then run and inspect the image.
Extend the Docker image by creating a custom nginx image and replacing the default page with a copied index.html. Build, run on 8081, and update to 0.0.2 to reflect changes.
Create a dockerfile using latest Python base image, run a simple program in the container, tag and push the image to Docker Hub, then run the container from Docker Hub.
Build a Docker image from the latest Python on Docker Hub, embed a Python program, and run it inside the container; push and run the image from Docker Hub.
Master persistent data management in Docker containers by learning why containers are immutable, and how to use volumes and bind mounts to persist data on the host.
learn how data volumes solve the persistent data problem by mapping the container file system to the host, using named volumes and mount options for durable docker data.
Explore bind mounts: host to container directories, 1-to-1. They enable flexible persistent data; non-docker processes can modify host paths, and bind mounts cannot be defined in dockerfiles.
Explore data persistence in Docker by using the named volume MySQL_db to upgrade a MySQL container without data loss; practice creating, upgrading, and verifying data across containers.
Create a MySQL container with a data volume named MySQL_db and a root password to persist data. Demonstrate upgrading the MySQL image and verify data remains accessible through the volume.
Learn to use bind mounts with Docker by starting an nginx container, bind mounting the host's filesystem, editing index.html, and verifying changes inside the container.
Demonstrate bind mounts in docker by running nginx containers that share a host directory; modify host files to update content in all containers in real time.
Discover how docker compose serves as a developer orchestration tool, enabling single-command building and managing of multiple service images and containers, simulating production on dev machines, while not production-ready.
Learn YAML fundamentals essential for Docker Compose, including maps and lists, key-value structures, and the importance of indentation for nested data in DevOps workflows.
Explore how to create a Docker Compose file (docker-compose.yml), define version, services, volumes, networks, and environment variables, and override startup commands for multi-container apps.
Learn to build images with Docker Compose, replacing multiple docker build commands with one. Define build context, Docker file, git location, image name, args, and tags in the compose file.
Build and run multiple docker images with one docker compose command by using a docker-compose.yml to set dynamic base image, app name, and app version for node and python apps.
Push multiple Docker images to Docker Hub with Docker Compose by building, authenticating, and pushing tagged images (for example 2.0 and 2.1) to the registry.
Deploy a WordPress front end with a MySQL back end using a single docker-compose file; run the stack with docker compose up.
Master executing a custom Node.js app with Docker Compose, including health checks, exposed ports, volumes and networks, binding to MongoDB, and managing multiple compose files with -f.
Learn to view and manage logs in docker compose for multiple services, filter by a specific service, and use tail and follow to monitor recent lines or streaming output.
Learn how to shell into a docker compose service using docker compose exec to inspect and modify running containers for development, debugging, and rapid testing without rebuilding images.
Learn how Docker Swarm provides production orchestration by clustering Docker engines, scheduling tasks across manager and worker nodes, and delivering fault-tolerant leadership via Raft, with load balancing and rolling updates.
Explore Docker Swarm terminology, including stacks, services, tasks, manager and worker nodes, desired state, and ingress load balancing to expose services across the swarm.
Learn to initialize a Docker Swarm, advertise the correct IP, and use swarm and service commands to join nodes, manage tokens, and operate services with create, scale, and update.
Learn to create and manage a docker swarm service using docker service create, ls, ps, inspect, and update to scale replicas and perform rollback.
Practice docker swarm online for free using labs.playwithdocker.com. Create multi-node clusters with manager and worker nodes, all pre-installed, in a four-hour session.
Learn to build a production docker swarm cluster from scratch by provisioning multiple DigitalOcean nodes, installing Docker CE, and joining nodes as manager and workers.
Set up a Docker swarm cluster across multiple nodes, initialize and join workers, promote managers, and deploy a replicated service using Docker swarm commands.
Visualize the workload on a docker swarm cluster using the visualizer service. Deploy the visualizer with a docker compose file and inspect nodes, memory, and CPU usage.
Discover how Docker Swarm networking uses an overlay network to connect multiple Docker hosts, with ingress and bridge networks and ports 237, 7946, and 4789 for cluster and overlay traffic.
Create an overlay network in Docker Swarm and deploy Postgres and Drupal services on it, exposing port 8080 and using ingress for load balancing across multiple nodes.
Learn how Docker Swarm manages service traffic with routing mesh and ingress routing mesh, publishing ports like 8080 and routing requests to the active container across nodes.
Deploy a multi-node docker swarm application featuring a distributed voting app using Python, Redis, Postgres, and dotnet across five services with front-end and back-end overlay networks.
deploy a distributed voting app on a docker swarm using two overlay networks, with multiple services (vote, Redis, db, result, and worker) scaled across five nodes.
Docker, Docker Compose, and Docker Swarm from Experts.
Develop and Conterize Applications for Docker & Execute in Docker Containers.
Convert your application into a Docker Application, Create Docker Images, and Deploy Docker Images.
Manage Data Volumes and persistent Data using Docker and Docker Swarm.
Learn Continuous Deployment using Docker Swarm.
Docker Training: Become Job Ready in Docker Containers by learning the Docker Ecosystem, creating Docker images using Dockerfiles, Installing Ubuntu Linux, and CentOS Linux, Granting Docker Control to Non-root Users, Security, Orchestration, Network Configuration Files, etc. You will also get exposure to industry-based real-time projects in various verticals.
After taking this course, you'll be able to:
Use Docker in your daily developer and/or sysadmin roles
Make Dockerfiles and Compose files
Build multi-node Swarm clusters and deploy H/A containers
Build a workflow of using Docker in dev, then test/CI, then production with YAML
Protect your keys, TLS certificates, and passwords with encrypted secrets
Keep your Dockerfiles and images small, efficient, and fast
Develop locally while your code runs in a container
Protect important persistent data in volumes and bind mounts
Lead your team into the future with the latest Docker container skills!
Why shall we learn Docker technologies:
Docker software is on the bleeding edge of technology today. It is also one of the most compelling technologies of the last decade in terms of its disruption to software development, operations, systems architecture, testing, and compliance practices.
Docker is becoming a must tool for developers. containers and Docker’s approach allows you to work without any need for dependencies. Docker allows developers to focus on the things that actually matter without worrying about the environment where the application runs.
Tons of companies are using docker in production, today you have access to that same virtualization technology right on your desktop.
Why DevOps skills?
Nowadays DevOps engineers are in great demand in the IT industry. Companies are looking for developers who can both develop and deploy applications.
The average salary of a DevOps engineer is about $140,000 per year in the Silicon Valley area which is 20% higher than the salary of a software engineer.
Master DevOps Skills means you will be staying ahead in the competitive job market!
Some of the many cool things you'll do in this course:
Edit web code on your machine while it's served up in a container
Lockdown your apps in private networks that only expose necessary ports
Create a 3-node Swarm cluster in the cloud
Use Virtual IPs for built-in load balancing in your cluster
Optimize your Dockerfiles for faster building and tiny deploys
Build/Publish your custom application images
Create your image registry
Use Swarm Secrets to encrypt your environment configs, even on disk
Deploy container updates in a rolling always-up design
Create the config utopia of a single set of YAML files for local dev, CI testing, and prod cluster deploys
And so much more...
Are you ready to take your DevOps skills and career to the next level, take this course now!