Home About Courses Schedule Services Webinars Contact Search

Introduction to Docker


Duration: 3.0 days

Method: Instructor led - Hands On

Price: $1920.00

Course Code: DO1044


Software Developers


The Introduction to Docker training course is designed to familiarize students with the benefits of containerization for both systems and application design. Hardware virtualization brought along a new era of server management and application architecture, by allowing companies to more rapidly plan and migrate environments.

The introduction of lighter weight virtualized systems, called “containers”, has finally achieved the goal of hardware agnosticism. Docker, introduced in 2013, has become an unofficial standard for 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 virtualization revolution back with them.


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

  • Understand how to build and manage containers
  • Design, build and deploy fully functional applications
  • Guide the application of these tools in the company


  • I. Introduction to Containers and Docker
    • Background and history – virtualization, docker, coreos, etc
    • Levels of virtualization – difference between VMWare style and LXC style
    • Value of an LXC wrapper
    • 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
    • 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
    • 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
    • Mesos, Kubernetes, Fleet
    • Load balancing, networking changes for scale, etc
    • Labs, Demos and Discussion