DOCKER PLATFORM & VIRTUALISATION

Docker is a set of platform as a service products that use OS-level virtualisation to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first started in 2013 and is developed by Docker, Inc.


OBJECTIVE

  1. Understand what Docker is and isn't

  2. Install Docker on MacOS, Windows & Linux

  3. Understand Docker's ecosystem

  4. Master Docker in development

  5. Master Docker Compose in development

  6. How to "Dockerize" your own web applications


WHO SHOULD ATTEND

Anyone who wants to learn all about Docker. You could be a web developer, sysadmin, operations manager, or part of an IT / testing / QA team. No prior Docker knowledge is necessary to start.

COURSE OUTLINE

(THIS IS A 1 DAY TRAINING PROGrAMME)

1. INTRODUCTION TO CONTAINERIZATION

  • What is containerization?

  • Containers vs. virtual machines

  • Docker editions


Understanding Docker images

  • Overview

  • Images vs. containers

  • Running a sample image

  • Listing images in the local Docker registry


A closer look at images and containers

  • The power of containerization

  • Creating multiple containers from an image

  • Creating containers in detached mode

  • Accessing port 8080 on the Linux box

  • Listing containers

  • Stopping a container


Container techniques

  • Off-the-shelf Linux distributions

  • Passing commands to a container

  • Attaching to a container

  • Executing commands in a container

  • Executing interactive commands in a container



2. CREATING DOCKER IMAGES

Creating a simple Docker image

  • Overview

  • Defining a Dockerfile

  • Understanding the Dockerfile

  • Our Python program

  • Building the image

  • Viewing images in the local Docker registry

  • Running a container


A closer look at Dockerfile instructions

  • Overview

  • The RUN instruction

  • The WORKDIR instruction

  • The COPY and ADD instructions

  • The EXPOSE instruction

  • The ENTRYPOINT instruction


Parameterizing Docker containers

  • The CMD instruction

  • Running a container with default arguments

  • Running a container and overriding arguments



3.Working With Databases

Running MySQL in a container

  • Overview

  • Defining a Dockerfile for a containerized MySQL

  • Building a Docker image

  • Running a Docker container


Interacting with the containerized MySQL

  • Opening a Linux shell into the container

  • Opening a MySQL prompt

  • A word about persistence


Persisting data in a volume

  • Overview

  • Volumes

  • Creating and managing volumes

  • How to mount a volume in a container

  • Mounting a volume into your MySQL container

  • Updating data

  • Verifying the data was persisted in the volume


Binding to a native directory

  • Overview

  • How to bind to a native directory



4.Docker Compose

  • Linking containers manually

  • Automating the process via Docker Compose


Automating the process via Docker Compose

  • Overview

  • How Docker Compose works

  • Defining a Docker Compose configuration file

  • Building images and running containers



5.Running Containerized Applications on OpenShift

Sample Application

  • Reviewing the sample application

  • A containerized app

  • Pushing changes to GitHub



Introduction to OpenShift

  • What is OpenShift?

  • OpenShift servers available on the programme

  • Logging in to OpenShift


Creating a project and an application

  • Creating a project

  • Creating an application

  • Viewing the OpenShift playground dashboard

  • Viewing projects

  • Viewing applications


Digging deeper into the application

  • Viewing build info

  • Images

  • Viewing running-application info

  • Pods

  • Deployments

  • Services

  • Exposing a service as a URL

  • Pinging a service via the URL

  • Viewing and editing YAML for OpenShift artifacts

FOR PRICING AND BOOKING THIS COURSE, PLEASE E-MAIL US AT admin@marcnzed.com

OR CALL +6012 451 4977 (MALAYSIA) OR +65 9052 3859 (SINGAPORE)