Home About Courses Schedule Services Webinars Contact Search

Introduction to Docker

SEE SCHEDULE

Duration: 3 Days

Method: Instructor led - Hands On

Price: $1920.00

Course Code: DO1044


Audience

Software Developers

Description

The Introduction to Docker training course is designed to familiarize students with the benefits of containerization for both systems and application design. While, hardware virtualization brought along a new era of server management and application architecture, by allowing companies to more rapidly plan and migrate environments, it still resulted in the duplication of software such as operating systems and provided no standardized way to package software applications. The introduction of lighter weight virtualized systems, called “containers” (a unit of software), has finally achieved the goal of hardware agnosticism. Docker, introduced in 2013, has become an unofficial standard for the building, deploying, and managing these containers. Through a series of hands-on, guided sections, students will first absorb and then put in practice the tools needed to bring the container revolution back with them.

Objectives

Upon successful completion of this course, the student will be able to:

  • Understand how to build and manage containers
  • Design, build and deploy applications within a container
  • Manage container images with container registries
  • Explore the basic of container orchestration
  • Guide the application of these tools in the company

Prerequisites

General software development experience. Linux and Cloud Computing experience a plus.

Topics

  • I. Introduction to Containers and Docker
    • Background and history – virtualization, docker, coreos, etc
    • Levels of virtualization
    • Intro to Images and Containers – Format, contents, specs
    • Runtime environment / Constraints
    • Building and Running Containers
    • Daemon hosting model
    • Contents of running containers
    • Exploring the host
    • Managing container execution
      • Start, stop, ssh, exit, terminate, lifecycles
    • File systems
      • Host vs Container & OS Options / Benefits
    • Managing images
  • II. Expanding Beyond the Container
    • Image Repositories – Public vs Private
      • Docker Hub (Public)
      • Azure Container Registry (Private)
    • Networking – Between local containers, Between machines, etc
    • Application considerations for networking and file system
    • Strategies and considerations for designing apps in this model
    • Managing volumes
    • Orchestrating multiple containers
      • Docker Compose
      • Docker Swarm
    • Responding to topology and binary changes – automate build and deploy
    • Remote management – manage servers in deployed scenarios
    • Security considerations
    • Tools: etcd, systemd, etc.
  • III. Moving to Production
    • Best practices & Tools
    • Orchestrating Containers with Kubernetes
    • Load balancing, networking changes for scale, etc
    • Setup a Free Microsoft Azure Account
    • Deploy Containers to Microsoft Azure
      • Private Registry
      • Running Containers
    • Deploy Applications with the Azure Kubernetes Service
    • Labs, Demos and Discussion