Docker Essentials

Overview

Docker is one of the popular and container-based tools used to create, deploy and run applications on cloud and on premises. Docker is a key component for the strategic investment in any company. An organization can take advantage of the agility and portability benefits that Docker containers provide across the application lifecycle, organizations planning to optimize these applications for their digital and hybrid cloud initiatives require a broader containerization strategy.

Docker is one type of open-source solution for the management of isolated containers. Docker always helps to put software code in containers. For this reason, it can be used in other systems without the necessity to create resource-intensive virtual machines. The software can be managed either via a hybrid Cloud or with the help of existing physical hardware resources. Docker Containers are virtualized abstract objects that interconnect code into dependencies (e.g., frameworks, config files, libraries, etc.). They are used for the building and deployment of lightweight applications that can be installed in a package on one machine (server or powerful computer). The containers finally boost performance and save memory, consuming far less resources than traditional virtual machines (also called hypervisors).

 

Objectives

  • Understand the foundations of containerization on a
  • single Docker node
  • Create an image using Docker file best practices
  • Use volumes in the application development process
  • Apply concepts of the Docker networking model
  • Understand the goal of services as a method of scaling
  • containers
  • Utilize two different orchestrators (Swarm and
  • Kubernetes) to deploy a single application across
  • multiple machines
  • Create a secret and understand its accessibility

 

Audience

  • Developers
  • DevOps engineers
  • System administrators

 

Pre- requisites 

  • How the bash works (at least how to handle files and folders)
  • Basics of networking on Linux/Ubuntu
  • The Unix / Linux philosophy
  • A good understanding of Linux Kernel’s job (resources allocation, CPU/memory/network management, storage organization, programs scheduling and programs communication)
  • A good understanding of Networking (socket, routing, IP protocol, bridges, virtual network, iptables, ports, server/client architecture etc.)
  • Experience working with Virtual Machine using VMware/VirtualBox

 

Duration: 2 days – 14 hrs

 

Course Content

Module 1: Course Overview

Module 1.1: Introduction to the course

 

Module 2: Understanding Docker

Module 2.1: Module Introduction

Module 2 .2: What is Virtualization

Module 2.3: What are Containers

Module 2.4: Containerization and virtualization differences

Module 2.5: Case study: 100 developer environments

Module 2.6: Difference between win and Linux containers

Module 2.7: Docker ecosystem and components

 

Module 3: Installing Docker

1: Module Introduction

3.2: Installing Docker on Centos 7

3.3:  Install Docker on Windows 2016 server

 

Module 4: Containers on Ubuntu Docker host

4.1: Module Introduction

4.2: Deploy, Login, exit container

4.3: List, Start, Stop, restart containers

4.4 where containers are stored

4.5: working with container hostnames

4.6 working on multiple containers

4.7 Container stats and inspect

4.8 Container networking

4.9 Deleting containers

 

Module 5: Containers on Win-2016 server Docker host

5.1: Module Introduction

5.2 Install Docker on win 2016 server

5.3: Win container Deploy, Login, exit container

5.4: List, Start, Stop, restart containers

5.5 where containers are stored

5.6: working with container hostnames

5.7 working on multiple containers

5.8 Container inspect

5.9: Deleting containers

 

Module 6: Docker Images

6.1: Module Introduction

6.2: Introduction to Docker Images

6.3: Docker hub – create your account

6.4: Explore and pull images from docker hub

6.5: Docker commit Build and Push Your own image

6.6: Launch container using your own image

6.7: Build Your own image using dockerFile

6.8: Integrate you dockerhub account with GitHub account to build image

 

Module 7: Docker Networking

7.1 Module Introduction

7.2 Linux Docker host default Networking

7.3 Linux container networking

7.4 Docker host and container port mapping

7.5 List, create, inspect and remove new networks

7.6 Launch container in desired network

7.7 Attach a container two networks

 

Module 8: Docker Volumes

8.1: Module introduction

8.2: Introduction to Docker volumes

8.3: Launch a container with volume attached

8.4: Recovering volume

8.5: Module Summary

 

Module 9: Linked Containers

Module 9.1 Module introduction

Module 9.3 Creating webapp container

Module 9.4 creating MySQL dB container

Module 9.5 Connect webapp with MySQL DB

Module 10 Docker Compose 

Module 10.1: Module introduction

Module 10.3: Creating docker compose file (WordPress and DB)

Module 10.4: Docker compose operations

Best selling courses

CLOUD COMPUTING

Enterprise Architecture

DATA SCIENCE

Tableau Basic

CYBER SECURITY / BLOCKCHAIN / NETWORK

Web Application Security

ARTIFICIAL INTELLIGENCE / MACHINE LEARNING / DEEP LEARNING

RPA with UiPath

PROGRAMMING / CODING

MATLAB Fundamentals