Docker Table of Contents


Table of Content
 

 

Introduction to the Course

  • Course Overview

Docker Installation

  • Installing Docker Desktop on Mac
  • Installing Docker Desktop on Windows
  • Installing Docker Engine on Linux

Basic Docker Container (Ubuntu, Busybox, Alpine)

  • Running Hello-World Container
  • Running Ubuntu Container
  • Running Busybox Container
  • Alpine Versus Busybox Images

Port and Volume Mapping in the Docker Containers

  • Running Nginx with Exposed Port
  • Nginx Container with Custom Content
  • Adding Favicon to the Project
  • Using Path Variable in Volume Mapping

Docker Containers Management (Ubuntu, Nginx)

  • Running Containers in Background
  • Running Container with Pseudo TTY
  • Creating Multiple Ubuntu Containers from the Same Image
  • Running Multiple Nginx Servers
  • Cleaning Up Stopped Containers

Running Python Applications in Docker

  • Creating Python Containers
  • Simple Python Program
  • Challenge: Simple Python Calendar App
  • Challenge Solution: Simple Python Calendar App

Running Node.js Applications in Docker

  • Running Node.js Containers
  • Hello World Application with Node
  • Express Web Server Using Node
  • Add Handling of the SIGINT and SIGTERM Signals
  • Challenge: Create Files Handling Node App
  • Challenge Solution: Create Files Handling Node App
  • Conclusion - Containers can Create and Modify External Files

Running MongoDB Containers

  • Pulling Mongo Image and Creating the First Mongo Container
  • Starting Additional Processes in the Running Container
  • What is Entry Point and Where is it Located
  • Creating New Mongo Database Using Mongo Shell
  • Running Mongo Container with Persistent Database

Communication Between Containers and Environment Variables (MySQL, phpMyAdmin)

  • Starting WordPress Container
  • Plan for the Next Lectures - Networks and Environment Variables
  • Default Bridge Network and Communication Between Containers
  • Exploring Environment Variables
  • Starting MySQL Container with env Variable
  • Launching Another phpMyAdmin Container
  • Connecting phpMyAdmin to MySQL Container
  • Making Notes of the Commands

Default and Custom Bridge Networks in Docker (WordPress, MySQL)

  • Communication Using Hostnames in the Default Bridge Network
  • Inspecting Default Bridge Network
  • Creating New Custom Bridge Network
  • Creating Busybox Containers in the Custom Network
  • Using Custom Persistent Names for Connectivity in the Custom Network
  • MySQL and phpMyAdmin in the Custom Network
  • Challenge: WordPress with MySQL and phpMyAdmin
  • Challenge Solution: WordPress with MySQL and phpMyAdmin - Part 1
  • Challenge Solution: WordPress with MySQL and phpMyAdmin - Part 2
  • Summary for the WordPress and MySQL Setup

Additional Containers - Elasticsearch, Redis, Httpd

  • Getting Docker Image with Curl Utility
  • Challenge: Run Elasticsearch and Curl Containers in the Custom Network
  • Challenge Solution: Run Elasticsearch and Curl Containers in the Custom Network
  • Inserting Documents into Elasticsearch Index
  • Starting Redis Container
  • Challenge: Redis and Redis-Commander
  • Challenge Solution: Redis and Redis-Commander
  • Launching Httpd Container

Docker on Practice Summary and Introduction to the Docker Fundamentals

  • Docker Fundamentals Practical Section Summary
  • Introduction to the Docker Fundamentals

What is Docker and Docker Components

  • Virtual Machines Versus Docker Containers
  • Virtual Machines Architecture
  • How I Use Virtual Machines
  • My Computer Just Ran Out of Memory
  • Docker Containers Architecture
  • How Docker is Running on Different Operating Systems
  • Container Processes and Resources
  • Docker Components: Overview
  • Docker Client
  • Docker Server
  • Docker Host
  • Docker Image
  • Docker Container
  • Docker Repository
  • Docker Registry
  • Docker Components: Summary

Introduction to the Images and Containers

  • Docker Commands Versus Management Commands
  • Alternative Commands
  • Basic Container and Images Commands
  • Cleaning Up My Docker Setup
  • Pulling Images from Docker Hub
  • What is Docker Image
  • Creating New Container from the Image
  • What is CMD in the Docker Image
  • What is Docker Container
  • Summary for the Introduction to Images and Containers

Getting Started with Linux

  • Why You Need to Know Linux while Studying Docker
  • Introduction to the Linux Section
  • Possible Options to Use Linux on macOS and Windows
  • Creating Linux Container Using Docker
  • What is Shell, Terminal, and Command
  • Getting Information about Linux Computer
  • How Shell Understands that You Have Entered a Command
  • Getting Help about Commands Using Man Utility
  • Command Options
  • Command Arguments
  • Arguments for Options

Processes in Linux

  • What Are Processes
  • List Running Processes
  • Starting Additional Processes and Killing Processes
  • Installing htop Package Using apt-get
  • Using the htop Utility
  • Summary for Processes Monitoring

Data Streams and Piping in Linux

  • Data Streams of the Process
  • Redirecting STDOUT and STDERR to the File
  • Where Process Data Streams Send Data by Default
  • How to Send Data to STDIN and Redirect STDOUT and STDERR
  • Piping
  • Summary for Data Streams and Piping

Files and Directories Management in Linux

  • Introduction to Files and Directories Management
  • Linux File System Structure and Navigation
  • Listing Files and Directories
  • Exploring Subdirectories of the Root Directory
  • Creating and Removing Directories and Files
  • Creating New Files
  • Editing Files Using Vim and Nano Editors
  • Copy and Move Files and Directories
  • Reading Files
  • Filtering Text Using the grep Command
  • Soft Versus Hard Links
  • Creating Hard and Soft Links

Search Operations in Linux

  • Introduction to the Find Command
  • Searching Files Using the Find Command
  • Some Other Examples of the Find Command
  • Executing Additional Commands Inside of the Find Operation
  • Xargs Command
  • Piping Results of the Find Command to the Other Command Using Xargs

Compressing and Sorting in Linux

  • Overview of the tar and gzip Utilities
  • Creating and Extracting Compressed Archive Using tar and gzip
  • Sorting Files Using Ls Command
  • Sorting Contents of the Files Using Sort Utility

User Management and Permissions in Linux

  • Introduction to the User Management in Linux
  • Creating Users Using useradd Command
  • Creating New User Using adduser Command
  • Changing Ownership of the File
  • Changing Permissions

Executable Files and Scripting in Linux

  • Creating Executable Script
  • Adding Path to the Scripts into the PATH Variable
  • Summary for Users, Permissions, and Scripts

Networking in Linux

  • Introduction to the Linux Networking
  • Exploring IP address settings
  • Verifying Connectivity with Remote Servers
  • Enabling SSH on the Linux Server
  • Connecting to the Linux Server Remotely Via SSH
  • Using curl and wget Utilities

Environment Variables in Linux

  • Environment Variables
  • SOLUTION - Script with Environment Variables Access
  • Linux: Summary

Launching Course Project Application without Docker

  • Introduction to the Dockerfiles and Docker Compose
  • Cloning Remote Docker Repository with Project Files
  • Project Overview
  • Getting Unsplash API Key
  • Installing Node.js and NPM
  • Installing Python, Pip, and Pipenv on macOS
  • Installing Python, Pip, and Pipenv on Windows
  • Starting Frontend App Using NPM
  • Starting API Application Using Python
  • Verifying How Images Gallery Project Works
  • Summary for Start of the App without Docker

Building Custom Images Using Dockerfiles

  • Initializing Git and GitHub for the Project
  • Installing Docker and Hello-World Using Docker
  • Creating Dockerfile for the Python API Service
  • Building Docker Image for the API Service
  • Running API Containers Based on the Built Docker Image
  • Analyzing API Docker Container from Inside
  • Docker Image for the API Service: Summary
  • Creating Dockerfile for the Frontend Application
  • Building Docker Image for the Frontend App
  • Running Docker Container for the Frontend Service
  • Exploring Frontend Container from Inside
  • Why You Need to Have the node_modules Folder and Python venv Folders Locally
  • Running Both Frontend and API Containers in Background

Launching Multiple Services Using Docker Compose

  • Creating a Basic docker-compose File
  • Bringing Up Both Containers Using docker-compose
  • How to Operate Containers Using docker-compose
  • Creating Volumes Mapping for the Frontend Service
  • Fix Volumes Sync in the React Container
  • Enabling Volumes Mapping for the API Service
  • Enabling auto-restart and docker-compose Summary for API and Frontend
  • Why Do We Need Mongo and mongo-express Services
  • Mongo and mongo-express Official Docker Images Overview
  • Adding Mongo and mongo-express Services to the docker-compose File
  • Starting All Services Including Mongo and mongo-express Using docker-compose

Exploring Docker Compose Setup

  • Docker Desktop Overview
  • Using Mongo Shell and mongo-express GUI
  • MongoDB Data is Now Deleted after docker-compose Restart
  • Configuring Persistent Data Volume for the Mongo Container
  • Verifying Persistent MongoDB Storage Using Volume
  • Mongo and mongo-express Setup Summary
  • How docker-compose Containers Communicate with Each Other
  • Exploring Networking Between Docker Containers



Apply for certification

https://www.vskills.in/certification/cloud-computing/docker-certification

 For Support