
What is Docker? What is Virtualization/Hypervisor? Virtual Machines vs Containers. Why to use Docker?
How to install Docker on Ubuntu VM? The commands needed to install Docker and their meaning.
How to verify Docker installation? Install elinks, tree utilities.
How to pull images from Docker Hub? How to search images on Docker hub web interface and CLI mode? How to list images? What happens if you spell image name wrong? How to pull alpine, nginx and curl images?
How to create Docker containers? Which command to use to create container in interactive mode? How to list running and stopped containers. How to check the IP address of the container? How to stop the container. How to start and attach to the stopped container?
How to check connectivity between Docker containers? How to remove containers?
Create Nginx web server in interactive mode. Why are we using interactive mode for launching web server container although not the recommended practice? Why we should pull images which are based on alpine image. How to find out the IP address of the container when "ifconfig" and "ip a s" commands are not working in the container? How to inspect the container? How to find out default home page directory? Which directory to use when we would like to launch custom web site? How to launch container having "curl" browser? How to access webpage? Understand why the container will not be accessible from outside world and webpage not visible from other containers? Why we are not able to connect to the web server? What is the solution? How to stop and remove nginx container?
Why we should launch Nginx web server container in daemon (detach) mode? How to find out the IP address of the container in detached mode. How to access webpage? Understand why the container still not accessible from outside world, but webpage visible from other containers? Understand container communication with the help of custom diagrams.
What is port mapping (port publishing). What is dynamic (random) port mapping. What is benefit of using port mapping between container port and host port. How to find out which random port was opened on host OS. How port mapping is going to solve outside world connectivity issues?
What is fixed port mapping? What is the benefit of using fixed port mapping? How port mapping is going to solve outside world connectivity issues? How to stop and remove web and curl containers?
Create Apache web server in interactive mode. Why are we using interactive mode for launching web server container although not the recommended practice? Why we should pull images which are based on alpine image. How to find out the IP address of the container when "ifconfig" and "ip a s" commands are not working in the container? How to inspect the container? How to find out default home page directory? Which directory to use when we would like to launch custom web site? How to launch container having "curl" browser? How to access webpage? Understand why the container will not be accessible from outside world and webpage not visible from other containers? Why we are not able to connect to the web server? What is the solution? How to stop and remove Apache container?
Why we should launch Apache web server container in daemon (detach) mode? How to find out the IP address of the container in detached mode. How to access webpage? Understand why the container still not accessible from outside world, but webpage visible from other containers? Understand container communication with the help of custom diagrams.
What is port mapping (port publishing). What is dynamic (random) port mapping. What is benefit of using port mapping between container port and host port. How to find out which random port was opened on host OS. How port mapping is going to solve outside world connectivity issues?
What is fixed port mapping? What is the benefit of using fixed port mapping? How port mapping is going to solve outside world connectivity issues? How to stop and remove web and curl containers?
Ephemeral vs Persistent Storage. What will happen to ephemeral storage if container is stopped or removed? What are the different ways to implement persistent storage?
What do you mean by persistent storage? What is bind mount? How to use bind mount? How to display custom web page by using bind mount with Nginx web server?
What is Docker Volumes. Docker Volumes vs Bind Mount. How to create volumes? What are different ways to create Docker Volumes? How to list and inspect volumes? How to use volumes in containers using "-v"? What is the benefit of using "-rm" command when creating containers? Verify the successful usage of volume in the container.
How to use the volume in container using "mount"? What is difference between using "-v" or "--mount"? How to remove the volumes?
What is Dockerfile? What are different ways of getting images? What are the key components of a Dockerfile? Explanation of FROM, RUN, CMD, LABEL, EXPOSE, ENV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR, ARG, ONBUILD.
How to create custom image for a basic Python Application. Explanation of Python application dockerfile. How to build and use the image? How to test the application?
How to use multi-stage build for the GCC Application? Understand different stages of multi-stage build. How to build the image and create container from that image? What are the benefits of using multi-stage image build?
How to launch Nginx static website using custom configuration? Understand the purpose of different files used for building custom image for this project. What is the purpose of using "--no-cache" option when building the image? How to check whether custom image created is able to fulfill our requirements?
How to create custom image for a NodeJS Application? Explanation of dockerfile use. What is the role of ".dockerignore" file? How to build and use the image? How to test the application?
How to create custom image for a NodeJS Application? Explanation of dockerfile use. What is the role of ".dockerignore" file? How to build and use the image? How to test the application?
Welcome to "Docker Hands-On" an extensive course designed to provide you with a comprehensive understanding of Docker and its application in deploying, managing, and scaling various types of applications. This course is meticulously crafted for developers, system administrators, and IT professionals who aim to enhance their skills in containerization, streamline their development workflows, and optimize the deployment processes using Docker.
Docker has revolutionized the way we develop, ship, and run applications. It enables developers to package applications and their dependencies into a standardized unit called a container, ensuring consistency across multiple environments. This course covers a wide range of topics, from the basics of Docker to advanced deployment strategies, helping you gain hands-on experience and practical knowledge.
Course Contents
Understand the fundamental concepts of Docker, including images, containers, and Docker architecture.
Step-by-step guide to installing Docker
Dockerizing Nginx: From Basics to Advanced Port Publishing
Deploying Apache Web Server with Docker: Interactive to Detached Modes
Docker Networking Introduction
Explore bridge networking and its default configuration in Docker.
Deploy a container using bridge networking and understand its connectivity.
Understand the host networking mode and its use cases.
Learn about the none networking mode for isolating containers.
Advanced networking configurations using container network mode.
Introduction to Docker's ephemeral storage and its lifecycle.
Persistent Storage Using Bind Mount
Create Storage and Use It in Container Using Volumes
storage configurations using the mount command
Understand the structure and syntax of a Dockerfile
Deploy Basic Python Application Using Dockerfile
Launch Multistage GCC Application
Deploy a static website using a Dockerfile with custom configuration.
Docker Compose Introduction
Deploy PHP Application with a MariaDB Database Using Docker Compose
Deploy WordPress Using Docker Compose
Deploy Flask Redis Application Using Docker Compose
Deploying Multiple Web Servers with Unique IP Addresses Using Macvlan
Step-by-step guide to deploying a web application using Docker's bridge network
How to Deploy Nginx Web Server on the Host Network
How to Run a Batch Processing Job in an Isolated Container
Develop a thumbnail generator application using NodeJS and Express.
Run MariaDB and phpMyAdmin with Docker
Setting up Private Docker Registry
Docker Swarm
By the end of this course, you will have the knowledge and skills to confidently deploy, manage, and scale applications using Docker, making you a valuable asset in any modern IT environment. Enroll now and take the first step towards mastering Docker and transforming the way you develop and deploy applications.