• Professional Development
  • Medicine & Nursing
  • Arts & Crafts
  • Health & Wellbeing
  • Personal Development

Course Images

The Complete Practical Docker Guide

The Complete Practical Docker Guide

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 18 hours 29 minutes

  • All levels

Description

Understand how Docker works and learn its core features with this hands-on course. This is 90% practice without any useless demos! Learn how to create different containers such as Node.js, Python, WordPress, MongoDB, MySQL, Redis, Elasticsearch, and much more.

Docker is a software framework for building, running, and managing containers on servers and the cloud. In this course, you'll start by installing Docker on your computer - macOS, Windows, or Linux. Afterward, you'll jump into tons of practice activities and use different Docker features. You'll pull different Docker images and run multiple containers using them. In practice sections, you'll perform multiple practice Docker activities, such as running Docker containers in the foreground and background, then connecting to certain processes in Docker from the terminal. After that, you'll learn to expose internal container ports to the outside and add environment variables for containers. You'll also create custom names and hostnames for containers, create a custom bridge network and run multiple containers inside of it, communicate between containers, and persist container folders using volumes mapping. Next, you'll also learn and practice how to use different Docker images (view and edit them). For that, you will not use the terminal; instead, you'll use the GUI application Visual Studio Code. By the end of this course, you'll gain fundamental practical knowledge of Docker and be able to easily use it for the development and testing of your applications. Most importantly, you'll understand Docker's main features such as Docker Volumes, Docker networking, and environment variables. All the resource files are uploaded on the GitHub repository at https://github.com/PacktPublishing/docker

What You Will Learn

Learn how to use Docker images and create containers
Manage Docker containers: start, stop, prune, restart
Enable port mapping and expose container ports to outside
Run Node and Python applications using Docker containers
Create environment variables for Docker containers
Create custom bridge networks and run multiple containers

Audience

This course is for anyone who is interested in learning about Docker and its components via practical projects. Any software developer who wants to develop, ship, and run their applications in their regular day-to-day work can highly benefit from this course.

There are no specific requirements, just a desire to make your hands dirty and learn Docker by doing it. Any OS (macOS, Windows, or Linux) will work to get started with this course.

Approach

This is a complete, hands-on, and comprehensive course on Docker. The course will help you get acquainted with the fundamental concepts followed by jumping straight into tons of practice activities and using different Docker features.

Additionally, all project files are available in the GitHub repository. This means that during this course, you'll also learn how to use Git and GitHub along with Visual Studio Code.

Key Features

A complete, comprehensive, and hands-on course on Docker delivered from an industry expert * Volumes mapping and specific working directories in the Docker containers * Communicate between containers by container name in the custom bridge network

Github Repo

https://github.com/PacktPublishing/docker

About the Author
Bogdan Stashchuk

Bogdan Stashchuk has over 20 years of experience as a software engineering instructor. He excels at breaking down complex topics into easy-to-follow steps. His courses are designed with hands-on exercises, ensuring that learners can actively participate and apply what they learn. From start to finish, students can follow along and complete tasks just as Bogdan demonstrates in his lectures. He also includes challenging assignments with detailed solutions. This approach helps learners understand and remember the material long after they've completed the course. Through his dedication and expertise, Bogdan ensures a valuable and effective learning experience for everyone.

Course Outline

1. Introduction to the Course

1. Course Overview

This video provides an overview of the tutor and about this course.

2. Docker Installation

1. Installing Docker Desktop on Mac

This video demonstrates the installation of Docker Desktop on Mac.

2. Installing Docker Desktop on Windows

This video demonstrates the installation of Docker Desktop on Windows.

3. Installing Docker Engine on Linux

This video demonstrates the installation of Docker Engine on Linux.

3. Basic Docker Container (Ubuntu, Busybox, Alpine)

1. Running Hello-World Container

This video helps you with running the hello-world container.

2. Running Ubuntu Container

This video helps you with running Ubuntu container.

3. Running Busybox Container

This video helps you with running Busybox container.

4. Alpine Versus Busybox Images

This video talks about the difference between Alpine and Busybox images.

4. Port and Volume Mapping in the Docker Containers

1. Running Nginx with Exposed Port

This video helps you in running Nginx with exposed port.

2. Nginx Container with Custom Content

This video shows mapping of Nginx container with custom content.

3. Adding Favicon to the Project

This video explains how to add favicon to the project.

4. Using Path Variable in Volume Mapping

This video talks about how to use path variable in volume mapping.

5. Docker Containers Management (Ubuntu, Nginx)

1. Running Containers in Background

This video focuses on running containers in the background.

2. Running Container with Pseudo TTY

This video shows how to run container with Pseudo TTY.

3. Creating Multiple Ubuntu Containers from the Same Image

This video explains how to create multiple Ubuntu containers from the same image.

4. Running Multiple Nginx Servers

This video explains how to run multiple Nginx servers.

5. Cleaning Up Stopped Containers

This video talks about cleaning up stopped containers.

6. Running Python Applications in Docker

1. Creating Python Containers

This video is about creating Python containers.

2. Simple Python Program

This video explains and shows a simple Python program.

3. Challenge: Simple Python Calendar App

This is a challenge video that gives the problem statement and a hint to create a simple Python calendar app.

4. Challenge Solution: Simple Python Calendar App

This is a challenge solution video that demonstrates how to build a simple Python calendar app.

7. Running Node.js Applications in Docker

1. Running Node.js Containers

This video demonstrates running Node.js containers.

2. Hello World Application with Node

This video helps you with writing a hello world application with Node.js.

3. Express Web Server Using Node

This video covers Express web server using Node.js.

4. Add Handling of the SIGINT and SIGTERM Signals

This video helps you add handling of the SIGINT and SIGTERM signals.

5. Challenge: Create Files Handling Node App

This is a challenge video that gives the problem statement and hint to create files handling Node app.

6. Challenge Solution: Create Files Handling Node App

This is a challenge solution video that demonstrates creating files handling Node.js app.

7. Conclusion - Containers can Create and Modify External Files

This is a conclusion video that revises how containers can create and modify external files.

8. Running MongoDB Containers

1. Pulling Mongo Image and Creating the First Mongo Container

This video helps in pulling Mongo image and creating the first Mongo container.

2. Starting Additional Processes in the Running Container

This video explains how to start additional processes in the running container.

3. What is Entry Point and Where is it Located

This video explains about the entry point and its location as well.

4. Creating New Mongo Database Using Mongo Shell

This video demonstrates creating a new Mongo database using Mongo shell.

5. Running Mongo Container with Persistent Database

This video focuses on running Mongo container with a persistent database.

9. Communication Between Containers and Environment Variables (MySQL, phpMyAdmin)

1. Starting WordPress Container

This video helps you starts with WordPress container.

2. Plan for the Next Lectures - Networks and Environment Variables

This video focuses on the plan for the next lectures - networks and environment variables.

3. Default Bridge Network and Communication Between Containers

This video demonstrates the default bridge network and communication between containers.

4. Exploring Environment Variables

This video helps in exploring environment variables.

5. Starting MySQL Container with env Variable

This video helps you start MySQL container with env variable.

6. Launching Another phpMyAdmin Container

This video demonstrates launching another phpMyAdmin container.

7. Connecting phpMyAdmin to MySQL Container

This video explains connecting phpMyAdmin to MySQL container.

8. Making Notes of the Commands

This video demonstrates how to make notes of the commands.

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

1. Communication Using Hostnames in the Default Bridge Network

This video talks about communication using hostnames in the default bridge network.

2. Inspecting Default Bridge Network

This video shows how to inspect default bridge network.

3. Creating New Custom Bridge Network

This video helps in creating a new custom bridge network.

4. Creating Busybox Containers in the Custom Network

This video helps in creating Busybox containers in the custom network.

5. Using Custom Persistent Names for Connectivity in the Custom Network

This video is about using custom persistent names for connectivity in the custom network.

6. MySQL and phpMyAdmin in the Custom Network

This video talks about MySQL and phpMyAdmin in the custom network.

7. Challenge: WordPress with MySQL and phpMyAdmin

This is a challenge video that gives the problem statement for creating WordPress with MySQL and phpMyAdmin.

8. Challenge Solution: WordPress with MySQL and phpMyAdmin - Part 1

This is first of the two-part challenge solution video that demonstrates working on WordPress with MySQL and phpMyAdmin.

9. Challenge Solution: WordPress with MySQL and phpMyAdmin - Part 2

This is second of the two-part challenge solution video that demonstrates working on WordPress with MySQL and phpMyAdmin.

10. Summary for the WordPress and MySQL Setup

This video talks about the summary for the setup of WordPress and MySQL.

11. Additional Containers - Elasticsearch, Redis, Httpd

1. Getting Docker Image with Curl Utility

This video helps in getting Docker image with curl utility.

2. Challenge: Run Elasticsearch and Curl Containers in the Custom Network

This is a challenge video that gives the problem statement and hint to run Elasticsearch and curl containers in the custom network.

3. Challenge Solution: Run Elasticsearch and Curl Containers in the Custom Network

This is a challenge solution video that demonstrates running Elasticsearch and curl containers in the custom network.

4. Inserting Documents into Elasticsearch Index

This video explains how to insert documents into Elasticsearch index.

5. Starting Redis Container

This video will help you get started with the Redis container.

6. Challenge: Redis and Redis-Commander

This is a challenge video that gives the problem statement for Redis and Redis-Commander.

7. Challenge Solution: Redis and Redis-Commander

This is a challenge solution video that demonstrates working on Redis and Redis-Commander.

8. Launching Httpd Container

This video helps in launching Httpd container.

12. Docker on Practice Summary and Introduction to the Docker Fundamentals

1. Docker Fundamentals Practical Section Summary

This video provides a conclusion and summary to the Docker fundamentals practical section.

2. Introduction to the Docker Fundamentals

This video provides an introduction to the Docker fundamentals.

13. What is Docker and Docker Components

1. Virtual Machines Versus Docker Containers

This video demonstrates virtual machines versus Docker containers.

2. Virtual Machines Architecture

This video shows architecture of the virtual machine.

3. How I Use Virtual Machines

This video explains how to use virtual machines.

4. My Computer Just Ran Out of Memory

This video explains what to do if your computer just ran out of memory.

5. Docker Containers Architecture

This video explains the Docker containers architecture.

6. How Docker is Running on Different Operating Systems

This video explains how Docker is running on different operating systems.

7. Container Processes and Resources

This video demonstrates the container processes and resources.

8. Docker Components: Overview

This video provides an overview of the Docker components.

9. Docker Client

This video explains about the Docker Client.

10. Docker Server

This video explains about the Docker server.

11. Docker Host

This video explains about the Docker host.

12. Docker Image

This video explains about the Docker image.

13. Docker Container

This video explains about the Docker container.

14. Docker Repository

This video demonstrates the Docker repository.

15. Docker Registry

This video demonstrates about the Docker registry.

16. Docker Components: Summary

This video provides a summary of Docker components.

14. Introduction to the Images and Containers

1. Docker Commands Versus Management Commands

This video talks about Docker commands versus management commands.

2. Alternative Commands

This video shows the alternative commands.

3. Basic Container and Images Commands

This video talks about the basic container and images commands.

4. Cleaning Up My Docker Setup

This video explains how to clean up the Docker setup.

5. Pulling Images from Docker Hub

This video explains pulling images from Docker Hub.

6. What is Docker Image

This video focuses on the Docker image in detail.

7. Creating New Container from the Image

This video demonstrates creating new container from the image.

8. What is CMD in the Docker Image

This video explains the CMD in the Docker image.

9. What is Docker Container

This video explains Docker container in detail.

10. Summary for the Introduction to Images and Containers

This video provides a summary for the introduction to images and containers.

15. Getting Started with Linux

1. Why You Need to Know Linux while Studying Docker

This video explains why you need to know Linux while studying Docker.

2. Introduction to the Linux Section

This video provides an introduction to the Linux section.

3. Possible Options to Use Linux on macOS and Windows

This video explains possible options to use Linux on macOS and Windows.

4. Creating Linux Container Using Docker

This video explains creating Linux container using Docker.

5. What is Shell, Terminal, and Command

This video explains about shell, terminal, and command in detail.

6. Getting Information about Linux Computer

This video helps in getting information about Linux computer.

7. How Shell Understands that You Have Entered a Command

This video explains how shell understands that you have entered a command.

8. Getting Help about Commands Using Man Utility

This video explains in getting help about commands using man utility.

9. Command Options

This video explains about command options.

10. Command Arguments

This video explains about command arguments

11. Arguments for Options

This video explains about the arguments for options.

16. Processes in Linux

1. What Are Processes

This video explains about the processes in detail.

2. List Running Processes

This video shows the list running processes.

3. Starting Additional Processes and Killing Processes

This video helps in starting additional processes and killing processes.

4. Installing htop Package Using apt-get

This video explains installing htop package using apt-get.

5. Using the htop Utility

This video explains how to use the htop utility.

6. Summary for Processes Monitoring

This video provides a summary for processes monitoring.

17. Data Streams and Piping in Linux

1. Data Streams of the Process

This video explains data streams of the process.

2. Redirecting STDOUT and STDERR to the File

This video helps in redirecting STDOUT and STDERR to the file.

3. Where Process Data Streams Send Data by Default

This video explains where process data streams send data by default.

4. How to Send Data to STDIN and Redirect STDOUT and STDERR

This video explains how to send data to STDIN and redirect STDOUT and STDERR.

5. Piping

This video explains piping in detail.

6. Summary for Data Streams and Piping

This video provides a summary for data streams and piping.

18. Files and Directories Management in Linux

1. Introduction to Files and Directories Management

This video provides an introduction to files and directories management.

2. Linux File System Structure and Navigation

This video explains the Linux file system structure and navigation.

3. Listing Files and Directories

This video explains listing files and directories.

4. Exploring Subdirectories of the Root Directory

This video helps in exploring subdirectories of the root directory.

5. Creating and Removing Directories and Files

This video explains creating and removing directories and files.

6. Creating New Files

This video helps in creating new files.

7. Editing Files Using Vim and Nano Editors

This video demonstrates editing files using Vim and Nano editors.

8. Copy and Move Files and Directories

This video explains copying and moving files and directories.

9. Reading Files

This video explains about reading files.

10. Filtering Text Using the grep Command

This video demonstrates filtering text using the grep command.

11. Soft Versus Hard Links

This video talks about soft versus hard links.

12. Creating Hard and Soft Links

This video explains creating hard and soft links.

19. Search Operations in Linux

1. Introduction to the Find Command

This video provides an introduction to the Find command.

2. Searching Files Using the Find Command

This video helps in searching files using the Find command.

3. Some Other Examples of the Find Command

This video shows some other examples of the Find command.

4. Executing Additional Commands Inside of the Find Operation

This video demonstrates executing additional commands inside of the Find operation.

5. Xargs Command

This video explains the Xargs command in detail.

6. Piping Results of the Find Command to the Other Command Using Xargs

This video focuses on the piping results of the Find command to the other command using Xargs.

20. Compressing and Sorting in Linux

1. Overview of the tar and gzip Utilities

This video provides an overview of the tar and gzip utilities.

2. Creating and Extracting Compressed Archive Using tar and gzip

This video shows creating and extracting compressed archive using tar and gzip.

3. Sorting Files Using Ls Command

This video explains sorting files using the Ls command.

4. Sorting Contents of the Files Using Sort Utility

This video explains sorting contents of the files using Sort utility.

21. User Management and Permissions in Linux

1. Introduction to the User Management in Linux

This video provides an introduction to the User Management in Linux.

2. Creating Users Using useradd Command

This video shows how to create users using useradd command.

3. Creating New User Using adduser Command

This video explains how to create new user using adduser command.

4. Changing Ownership of the File

This video explains how to change ownership of the file.

5. Changing Permissions

This video explains how to change files permissions.

22. Executable Files and Scripting in Linux

1. Creating Executable Script

This video explains how to create executable script.

2. Adding Path to the Scripts into the PATH Variable

This video explains about adding path to the scripts into the PATH variable.

3. Summary for Users, Permissions, and Scripts

This video provides a summary for users, permissions, and scripts.

23. Networking in Linux

1. Introduction to the Linux Networking

This video provides an introduction to this section.

2. Exploring IP address settings

This video helps you in exploring IP address settings.

3. Verifying Connectivity with Remote Servers

This video helps you in verifying connectivity with remote servers.

4. Enabling SSH on the Linux Server

This video helps in enabling SSH on the Linux server.

5. Connecting to the Linux Server Remotely Via SSH

This video explains connecting to the Linux server remotely via SSH.

6. Using curl and wget Utilities

This video explains using curl and wget utilities.

24. Environment Variables in Linux

1. Environment Variables

This video explains about environment variables.

2. SOLUTION - Script with Environment Variables Access

This video focuses on the script with environment variables access.

3. Linux: Summary

This video provides a summary on Linux OS.

25. Launching Course Project Application without Docker

1. Introduction to the Dockerfiles and Docker Compose

This video provides an introduction to the Dockerfiles and Docker Compose.

2. Cloning Remote Docker Repository with Project Files

This video explains cloning remote Docker repository with project files.

3. Project Overview

This video provides an overview of the project.

4. Getting Unsplash API Key

This video shows getting Unsplash API key.

5. Installing Node.js and NPM

This video helps you with installing Node.js and NPM.

6. Installing Python, Pip, and Pipenv on macOS

This video helps you with installing Python, Pip, and Pipenv on macOS.

7. Installing Python, Pip, and Pipenv on Windows

This video helps you with installing Python, Pip, and Pipenv on Windows.

8. Starting Frontend App Using NPM

This video helps you get started with frontend app using NPM.

9. Starting API Application Using Python

This video helps you get started with API application using Python.

10. Verifying How Images Gallery Project Works

This video helps in verifying how images gallery project works.

11. Summary for Start of the App without Docker

This video provides a summary for start of the app without Docker.

26. Building Custom Images Using Dockerfiles

1. Initializing Git and GitHub for the Project

This video explains initializing Git and GitHub for the project.

2. Installing Docker and Hello-World Using Docker

This video helps you with installing Docker and hello-world using Docker.

3. Creating Dockerfile for the Python API Service

This video explains how to create Dockerfile for the Python API service.

4. Building Docker Image for the API Service

This video explains building Docker image for the API service.

5. Running API Containers Based on the Built Docker Image

This video explains running API containers based on the built Docker image.

6. Analyzing API Docker Container from Inside

This video helps in analyzing API Docker container from inside.

7. Docker Image for the API Service: Summary

This video provides a summary on Docker image for the API service.

8. Creating Dockerfile for the Frontend Application

This video explains creating Dockerfile for the frontend application.

9. Building Docker Image for the Frontend App

This video helps you with building Docker image for the frontend app.

10. Running Docker Container for the Frontend Service

This video helps you with running Docker container for the frontend service.

11. Exploring Frontend Container from Inside

This video helps you explore frontend container from inside.

12. Why You Need to Have the node_modules Folder and Python venv Folders Locally

This video explains why you need to have the node_modules folder and Python venv folders locally.

13. Running Both Frontend and API Containers in Background

This video helps you with running both frontend and API containers in the background.

27. Launching Multiple Services Using Docker Compose

1. Creating a Basic docker-compose File

This video talks about creating a basic docker-compose file.

2. Bringing Up Both Containers Using docker-compose

This video helps in bringing up both containers using docker-compose.

3. How to Operate Containers Using docker-compose

This video explains how to operate containers using docker-compose.

4. Creating Volumes Mapping for the Frontend Service

This video explains creating volumes mapping for the frontend service.

5. Fix Volumes Sync in the React Container

This video explains how to fix volumes sync in the React container.

6. Enabling Volumes Mapping for the API Service

This video helps in enabling volumes mapping for the API service.

7. Enabling auto-restart and docker-compose Summary for API and Frontend

This video demonstrates enabling auto-restart and docker-compose summary for API and frontend.

8. Why Do We Need Mongo and mongo-express Services

This video explains why do we need Mongo and mongo-express services.

9. Mongo and mongo-express Official Docker Images Overview

This video provides an overview of Mongo and mongo-express official Docker images.

10. Adding Mongo and mongo-express Services to the docker-compose File

This video helps you with adding Mongo and mongo-express services to the docker-compose file.

11. Starting All Services Including Mongo and mongo-express Using docker-compose

This video helps you with starting all services including Mongo and mongo-express using docker-compose.

28. Exploring Docker Compose Setup

1. Docker Desktop Overview

This video provides an overview of the Docker Desktop.

2. Using Mongo Shell and mongo-express GUI

This video helps you with using Mongo shell and mongo-express GUI.

3. MongoDB Data is Now Deleted after docker-compose Restart

This video explains how MongoDB data is now deleted after docker-compose restart.

4. Configuring Persistent Data Volume for the Mongo Container

This video helps in configuring persistent data volume for the Mongo container.

5. Verifying Persistent MongoDB Storage Using Volume

This video explains verifying persistent MongoDB storage using volume.

6. Mongo and mongo-express Setup Summary

This video provides a summary on Mongo and mongo-express setup.

7. How docker-compose Containers Communicate with Each Other

This video explains how docker-compose containers communicate with each other.

8. Exploring Networking Between Docker Containers

This video helps in exploring networking between Docker containers.

29. Course Summary

1. Docker Complete Guide Summary

This video provides a summary of this entire course.

Course Content

  1. The Complete Practical Docker Guide

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews