
Master docker basics and practical workflows to create containers, build images, run services with docker compose, explore Docker Hub, and work with Linux command line across hands-on chapters.
All course files are available in the GitHub repository
Install Docker Desktop for Windows to create a Linux virtual machine and run Linux containers. Download from Docker Hub, restart Windows, and set up PowerShell to use Docker commands.
Run docker run hello-world to start the simplest container, which pulls the hello-world:latest image from Docker Hub, prints a startup message, and then exits, illustrating the client-daemon workflow.
Pull the Ubuntu image from Docker Hub, run a container to observe that it exits without command, then enter the container to explore an isolated /bin and run basic commands.
Explore running a BusyBox container, compare its small image slightly over 1 megabyte to Ubuntu, and use BusyBox's built-in utilities like echo, uptime, mkdir, and touch while discussing image tags.
Pull and compare Alpine and BusyBox images to understand how Alpine, a small Linux based on BusyBox, uses APK to install packages and serve as a base image.
Learn to run Nginx from its image in a docker container, expose port mappings from external port 8080 to internal port 80, and test http access.
Learn to serve a custom HTML page with an Nginx container using port mapping and volume mapping, editing locally and seeing live updates in the browser.
Learn to add a favicon to an nginx container by generating the icon with favicon.io, linking it in html, and testing the updated page in a docker volume setup.
Run containers in the background with docker run -d, see how inner processes affect lifetime, and use docker logs and docker stop to manage and inspect activity.
Learn docker run options for pseudo tty and interactive mode, including -t/--tty and -i/--interactive, and how -it connects to a container shell.
Create and run two distinct nginx containers from separate folders, map volumes, and expose them on two external ports; verify content updates in the browser.
Learn to clean up stopped containers in Docker: stop, remove, and prune using Docker rm and Docker container prune. List all containers with Docker ps -a and verify clean state.
Learn to create a python container by pulling the python image from docker hub, running an interactive session with docker run -it, and exploring modules and help.
Explore Docker workflows and a Python calendar app challenge using the calendar module. Build and run calendar app.py inside a container with Python three, including volume mapping and working directory.
Build a simple Python calendar app that uses the calendar module, takes year and month input, prints the month view, and runs inside a Python container.
Learn to build a simple express web server with Node inside a Docker container, install express with npm, initialize package.json, and map port 3000 for external access.
Learn to handle sigint and sigterm in a Node.js express app inside docker, using process.on to terminate correctly with exit code 0, and compare docker stop and docker kill.
Learn to build a dockerized Node.js app that prompts for a file name and text, writes a .txt file using fs and readline, and handles errors inside a container.
Docker can create and modify files on your local computer during container execution, shown by new files in the local files folder, enabling persistent databases across multiple containers like Mongo.
Download the Mongo image, create a container, and verify the default port, while noting Mongo's NoSQL nature and its built-in JavaScript engine used in microservices.
Learn to start additional processes inside a running docker container with docker exec or docker container exec, running bash or mongo shell, and observe mongod running alongside.
Explore how a docker entrypoint script starts the mongod process in a mongo container, inspect container details with docker inspect, and locate entrypoint files to connect with the mongo shell.
Learn to connect to a MongoDB process inside a Docker container with docker exec and mongo shell, create test database and animals collection, insert records, and verify isolation across containers.
Map a local folder to the container's data/db to create a persistent MongoDB database. Learn how multiple containers can access the same data across containers.
run a WordPress container using the WordPress image, map port 80 to access the setup, and configure WordPress with a MySQL database hosted externally.
Explore Docker networking and environment variables as you connect WordPress with a MySQL container, learn about default bridge networks, custom networks, and container communication.
Establish container-to-container communication on the default bridge network by booting two BusyBox instances, verifying their 172.17.0.0/16 IPs with ping and docker inspect.
Learn how Docker containers communicate over the default bridge network and use environment variables to initialize startup parameters, such as credentials, and how to override them for specific containers.
Verify MySQL container environment variables with docker exec and env, then launch a phpMyAdmin container, map ports, and configure the host connection using an environment variable.
Connect phpMyAdmin to a MySQL container by setting PMA_HOST to the MySQL container IP and starting phpMyAdmin with environment variables. Verify access to the databases.
Run mysql and phpmyadmin in separate containers and connect them using hostnames on a custom network, avoiding dynamic IP addresses; document the start commands and environment variables.
Explore how the default docker bridge network assigns IPs from 172.17.0.0/16, inspect and create custom networks, and manage containers with docker network ls, inspect, create, connect, and disconnect.
Create and connect two BusyBox containers to a custom bridge network, assign IPs, and verify communication via hostnames, contrasting with the default bridge network.
Create two busybox containers on a custom bridge network with explicit names; they communicate by custom names, enabling stable connectivity for phpMyAdmin and MySQL containers.
Create three docker containers: MySQL, phpMyAdmin, and WordPress, on a custom network named WordPress. Connect WordPress to MySQL using four environment variables.
Set up WordPress with MySQL and phpMyAdmin using Docker, pulling specific image versions (WordPress 5.4, MySQL 5.7), creating a custom network, and configuring containers with environment variables and ports.
Set up a custom Docker network and deploy WordPress, MySQL, and phpMyAdmin containers; configure environment variables, test connectivity, and access WordPress on port 8080 and phpMyAdmin on 8081.
This course is all about Docker and Kubernetes
Understand HOW Docker and Kubernetes work and learn their core features ON PRACTICE. This is 90% practice course without no useless demos!
This course requires you to download Docker Desktop from the official Docker website. If you are a Udemy Business user, please check with your employer before downloading software.
Learn how to create different containers like Node.js, Python, Wordpress, MongoDB, MySQL, Redis, Elasticsearch and much more.
Become a master of Docker and Kubernetes by understanding and practicing their main features.
All project files are available in the GitHub repository.
We will start by installing Docker on your computer - MacOS, Windows or Linux. On MacOS and Windows you will install Docker Desktop, on Linux you will install Docker Engine.
Afterwards we will jump into tons of practice activities and use different Docker features. You will pull different docker images and run multiple containers using them.
In practice sections you will perform multiple practice Docker activities:
Run Docker containers in foreground and background
Connect to certain process in the Docker from the Terminal
Expose internal container ports to outside
Add environment variable for container
Create custom names and hostnames for container
Create custom bridge network and run multiple containers inside of it
Communicate between containers
Persist containers folders using volumes mapping
You will also learn and practice how to use following Docker images
Ubuntu
Alpine, Busybox
Node.js
Python
MongoDB
MySQL, phpMyAdmin
NGINX
Wordpress
Elasticsearch
Redis
Httpd
During the course you will need to view and edit text files. For that you will NOT use terminal. Instead you will use GUI application VisualStudio Code. Also all project files are available in the GitHub repository. This means that during this course you will also learn how to use
Git and GitHub
VisualStudio Code
With this course you will get lifetime-long access to more than 50 lectures and tens of practical exercises. After the course you will get fundamental practical knowledge of Docker and be able to easily use it for development and testing of your applications.
But most important is that you will UNDERSTAND Docker main features like
Docker Volumes
Docker Networking
Environment Variables
Also you will UNDERSTAND Kubernetes main features like
Pods
Nodes
Cluster
Services
You will also get 30-days money-back guarantee. No questions asked!
Don't wait and join the course now!