
Learn how hypervisors create virtual machines on bare metal servers. Distinguish type one hardware hypervisors from type two software hypervisors, with production favoring type one.
Define containers as isolated processes using kernel namespaces and cgroups. Explain how they virtualize the operating system and run with libraries and binaries; Docker standardizes management.
Explore the difference between Docker Engine and Docker Desktop, highlighting Engine as open source server tooling for production, versus Desktop as a GUI, Kubernetes-enabled, subscription bundle for developers.
install Docker Engine on Ubuntu using a conventional script that configures apt, adds the repository and VPC key, and installs Docker Engine packages.
Explore docker default parameters by verifying installation with dpkg, confirming packages (docker-ce, docker-ce-cli, containerd, docker-compose-plugin), and checking the docker version and server and client details.
Discover how Docker containers are built and managed: from Docker images and registries to containers, CLI commands, and the Docker daemon using namespaces, cgroups, and union file systems.
Learn to pull the official nginx image from Docker Hub, create a detached container, and verify it runs on port 80 with an internal docker network IP.
Learn to run and customize nginx containers with docker run options, manage container life cycles (stop, remove, force), inspect metadata, and execute commands inside containers to verify networking.
Deploy a MySQL relational database on Docker by using the official image, selecting a tag, and configuring MYSQL_ROOT_PASSWORD to run and connect via the host on port 3306.
Demonstrates the Docker engine container creation workflow from cli to daemon, image download, rest and gRPC, containerd, OCI bundle, runc, and kernel namespaces with cgroups.
Configure a static IP on Ubuntu by using a bridge adapter in VirtualBox and Netplan with 192.168.1.40/24, gateway 192.168.1.1, and Google DNS for Docker Engine port forwarding.
Discover how to access dockerized apps from outside the docker host via port forwarding, mapping host ports to container ports through the docker zero interface.
Access Docker host applications from outside by port forwarding to host ports for Nginx and httpd, test with curl on the host IP, and observe container port isolation.
Explore Docker container restart policy, including never, always, on-failure, and unless-stopped, and learn how to update policies after creation and ensure containers restart on system reboot.
Demonstrates resource cleanup after deploying WordPress and MySQL on Docker Engine. Remove the WordPress and MySQL containers and verify cleanup, while leaving images intact to save bandwidth.
Deploy a Jenkins ci cd application on Docker engine with the Jenkins/jenkins:lts image, mapping 8090 to 8080, then unlock Jenkins, install plugins, and create the initial admin user.
Learn to create and manage docker containers using rm and exec, login in interactive mode, run commands inside containers, and verify container status and lifecycle.
Compare Docker container create and run, showing how create builds a container without starting it, while run creates and starts the container immediately.
Docker images are bundles of read-only layers used to create containers with a read-write layer for changes, typically loaded from Docker Hub with public or private access.
Pull images via the Docker daemon, check local cache, use Docker Hub when needed, with authentication for private images, and store the image on the host to create a container.
Push the same image to multiple Docker Hub accounts by tagging and re-pushing, using docker image tag, docker login, and authentication to access each account.
Explore the from parameter (and arg) in a Dockerfile to define a base image, then build and tag an ubuntu 20.04–based image with docker build.
Learn how to use the Dockerfile maintainer and run parameters, including shell and exec formats, and how to manage build cache with --no-cache for proper layers and tagging.
Learn how to use ENV to set container environment variables and LABEL to attach metadata to images, including best practices, persistence considerations, and differences between image and container level data.
Explore Dockerfile basics by mastering entrypoint and cmd parameters. Learn how to combine them for flexible command execution, override defaults with docker run, and understand shell vs exec formats.
Explore Dockerfile shell and workdir parameters, use multiple shell parameters, and control execution directories with multiple workdir entries for run, cmd, entry point, add, or copy.
Learn how to use stop signal and health check in a Dockerfile, override stop signal at runtime, and verify container health with practical examples.
Build and deploy a non-root nginx container on ubuntu 22.04 with a tailored docker image, dynamic volumes, port 8090, and custom index.html content.
Learn to shrink Docker images by choosing the right base image, comparing Alpine versus Ubuntu, and adjusting Dockerfile practices like apk add, user setup, and nginx configuration.
Explore docker storage types including volume mount, bind mount, and tmpfs mount, understanding ephemeral containers, docker root directory, and how to persist data with volumes, read-only options, and swarm considerations.
Learn to create and attach a volume with the hyphen mount option and the -v option to an nginx container, detailing type, source, destination, read-only, and swarm considerations.
Deploy Jenkins on Docker Engine using a volume mount to persist data and enable port forwarding for external access. Reuse the same volume to recreate containers and recover Jenkins data.
deploy Jenkins on Docker using a volume mount to persist data across container recreations; learn setup wizard, initial admin password retrieval, plugin installation, and how volumes preserve Jenkins data.
Explore bind mounts in Docker: mount an absolute host path into a container, create the host directory if needed, and observe how host data appears at /usr/share/nginx/html.
Learn how docker bind mounts differ: the -v option creates missing directories automatically, while the --mount option requires existing paths, demonstrated with an nginx example using /app-data.
Explore a Jenkins deployment using a bind mount, mapping a host directory to /jenkins_home, and resolve permission denied errors by aligning host directory ownership to 1000:1000 for the Jenkins user.
Implement a Docker volume mount using an NFS server to store data remotely, ensuring persistence even if the Docker host goes down, demonstrated with a Jenkins deployment.
Explore the Docker default bridge network by listing and inspecting it. See how containers receive IPs from the bridge subnet and communicate on the same bridge.
Explore how Docker daemon assigns a default subnet and gateway for user-defined bridge networks when none are specified, inspect the resulting addresses, and prune unused custom networks safely.
Learn to assign a static IP address to a Docker container on a user defined bridge network using a subnet and gateway; default bridge networks do not support fixed IPs.
Explore docker host network, which shares the host network stack, requires no port forwarding, and explains port conflicts and troubleshooting on a predefined network.
Explore Docker none network isolation, observe loopback interface and 127.0.0.1, connect containers to a bridge network by disconnecting from none, attaching to a bridge, and building images with required packages.
Learn docker network basics by running a none network container, test inside the container, then connect to a bridge network to obtain an IP and access the app.
Explore how Docker overlay networks enable cross-host container communication using vxlan tunneling and etcd storage. Configure a user-defined overlay network and verify connectivity across hosts.
Learn to implement a docker overlay network using etcd for high-availability storage across two docker hosts, without docker swarm, verifying cluster health and enabling cross-host container communication via vxlan.
migrate the docker root directory to a new location and verify containers remain intact by starting them after the daemon change, during a change window.
Change the default docker bridge cidr by configuring bip and optional default gateway, then restart the daemon and recreate containers to apply the new network, backing up data as needed.
Explore why Docker links are a legacy, deprecated option and how container communication by name works on user-defined bridge networks, using automatic DNS resolution instead of IP-based or manual links.
Access the Portainer dashboard over https using a self-signed certificate, set up an administrator with a 12-character password, and connect Portainer to the local Docker engine via the docker.sock.
Manage Portainer environments, including Docker engine, Swarm, Kubernetes, and ACI, using the Environment Wizard in Community Edition.
Explore managing containers from a dashboard: create and configure nginx containers, set image details, networking, volumes, environment variables, restart policies, and monitor with logs, inspect, and stats.
Master docker images, registries, and builds, from pulling public images on Docker Hub or authenticating with AWS ECR to building custom images from Dockerfiles.
Explore what features the Portainer community edition lacks, including authentication logs, user activity, and configurable banners, and see how business edition adds registries, roles, permissions, and authentication and authorization controls.
Identify the challenges of docker engine for deploying multiple applications, including imperative deployment and environment differences. See how docker compose uses a declarative yaml file to streamline orchestration.
Log in to a docker engine machine and learn how docker compose converts YAML to CLI, acting as an orchestration tool installed with docker engine.
Containerization technology provides flexibility to develop the application much faster and more secure manner as part of DevOps and DevSecOps culture adopted by many of the Organization in today IT industry.
We as VisualPath Team has come up with a course that simplifies the understanding of Containerization technology.
Containerization creates an OS level virtualization to save lot of resources consumption and run more application on a platform.
Docker tools helps initially to understand the core feature of Containerizing the application with Image build, Networking, Storage, etc.,
Docker provides tools like Docker Engine, Docker Desktop, Docker Compose, Docker Machine, and Docker Swarm.
Docker Engine helps to spin containers and run any sort of application (Nginx, MySQL, Hadoop, ML, etc.,) with predefined and Custom Images.
Kubernetes Orchestration tool helps to containers specific to application as POD workload to have common network and shared storage.
After Kubernetes developed with wide number of features, usage of Docker Swarm was suppressed by many of the Organizations to run application on a Cluster environment.
In this course of Kubernetes, we will be understanding the architecture, cluster setup and configuration, workloads, objects, networking, monitoring, storage, and many more...
We will be focusing on Docker Engine, Docker Compose (Orchestration tool to manage resources on Docker Engine), Kubernetes Cluster (On-premises), Monitoring, and Projects from each platform of different sort of applications like Wordpress, Jenkins, Node application.
Docker Engine CE (Community Edition) and Kubernetes Orchestration are open-source where we can install on our local machines and understand the features provided by those, where we will be focusing in the course all together.
The key principles of learning any technology is fundamentals and troubleshooting (through Monitoring services) to sustain for longer period in IT industry with new technologies.
After completion of the Course you can plan for Kubernetes certifications like CKA (Certified Kubernetes Administrator) and CKAD (Certified Kubernetes Application Developer)
Students Review:
Mudasir Bashir
This course on Docker and Kubernetes was excellent and very in-depth—highly recommended for anyone looking to build a solid foundation in containerization and orchestration. I would like to sincerely thank the trainer for the clear explanations and hands-on approach. My request to the trainer is to consider creating more advanced courses, particularly focusing on deployment using Helm, as it would be extremely valuable for practitioners in the DevOps space. Thanks again!
Shahed R
Master Docker & Kubernetes course is a great learning resource for anyone who wants A to Z understanding with hands-on experience. Anyone who wants to indulge and take a deep dive into containerization and its orchestration then this is the course to take. These videos are a true bang for your buck!
Deepak R
The Docker and Kubernetes course on Udemy is fantastic! The instructor explains concepts in-depth, making it easy to understand. Highly recommend for anyone wanting to learn these technologies