What you'll learn:
- What is Docker ?
- What are Containers ?
- Containers Vs Virtual Machines
- Benefits of Docker
- Installation of Docker on MacOs/Linux
- Magic: How Docker works on Mac
- Docker Architecture: Deep Dive (What is Docker Registry/Daemon/Client/Image/Container/Engine ?)
- Demos on Docker Commands
- Explanation of Mysql Community Edition
- Demo: Install Official Docker Images & Oracle Image for Mysql
- Demo: Install multiple versions of mysql
- Demo: Connect to Mysql Container database using CLI & Mysql workbench
- Understand Docker Compose with Demos
- Demo: How to Create a Custom Docker Image
- Demo: Push Image to Docker Hub
- What is Data Persistence in Docker
- Demo: Mysql container using Volume
- Demo: Backup / Recovery of Mysql Container database
- Introduction to Docker in AWS
- What is AWS VPC ?
- Demo: Create a Custom VPC
- What is a Security Group ?
- Demos: Create a Security Group for Webserver & DBServer
- Understand the Sample Architecture : Webserver to Database Server
- Demo: Build an EC2 Instance for Webserver & DBServer in Custom VPC
- Demo: Install Docker on EC2 Machine in AWS Cloud
- Demo: Installation of PHP 7.2 on Webserver
- Demo: Create Mysql container database on AWS
- Demo: Write a PHP Code to connect to Mysql Database (Docker on AWS) & Display Resultset
This is a 3-in-1 course designed for the students who wish to learn the Basics of Docker , How Mysql Databases work on Docker On-Prem &AWSCloud.
Docker Introduction
We shall begin with the Basics : What is Docker , What are Containers as the concept of Docker revolves around Containers. We shall then looks and compare Docker with Virtual Machines. An understanding will be given to the students about the benefits of Docker and some interesting Facts.
Docker Architecture : Deep Dive & Demos
My belief is when learning a new technology it's always good to understand the Architecture and hence we shall do a deep dive into the architecture of Docker, We will understand the basic terminlogies like What is a Docker Image/Container/ Registry/Engine and this will equip us to understand the technology and get a good grasp of the subject.
The demos for installation of Docker on MacOs will be done and we will also perform loads of demos to run and understand the Basic Docker Commands.
Mysql Database on Docker
We shall then move our focus to Mysql Databases on Docker and get an understanding around the official images for Mysql community edition that are available from Docker &Oracle. We will do demos to install these and look at differences.
We shall try and understand the importance of tags and how you can install multiple versions of mysql. I will also show how you can connect mysql database in a container using CLI& Mysql workbench.
We will focus on Industry standards for creating Docker containers using the Docker Compose with Demos. We will also look at practical methods of creating your own custom image / pusing that image to Docker Hub / Pulling the same image and create a new container from the image.
An in-depth understanding will be given on Data Persistence in Docker and how we can create Mysql Database using Docker Volumes. As any discussion on Databases will be incomplete without Backups/Recovery hence we shall take a look at Backup/Recovery of Mysql Databases in Docker.
MysqlDatabase on Docker in AWSCloud
We shall use the above understanding and use it in the world of AWSCloud. For this we will work on our custom Architecture where in we will create our own VPC(VirtualPrivate Cloud) and this VPCwill have 2 Subnets: A Public Subnet for Webserver and a PrivateSubnet for the Database Server (Mysql).
Iwill do practical demos and give you good understanding on the Security Groups and how you can create Security Groups for Webserver and DB Sever, please note that as Database Server is in private Subnet no one from outside world can access it directly and only the Webserver will be able to talk to Database Server.
At the same time the Database Server needs to have internet connectivity as we need to install Docker there , how this can be achieved will be mentioned as well.
Some more practical demos will be done showing the students how we can build EC2 Machines in AWSCloud , one which will be used for Webserver and other for the DatabaseServer. We will also install PHP7.2 along with Apache Webserver at the Front End , and for the Backend we we will have Mysql Database running inside Docker on AWSCloud.
At the end we will write a PHPCode and which will make a connection from PHPto Mysql Database on Docker in AWSCloud and will extract and display the database from Mysql Tables.
HappyLearning
DBAlchemist Academy