Docker and Kubernetes Development

Containerisation has revolutionised the way organisations build, deploy, and operate solutions in the cloud and on-premise. Docker knowledge has become indispensable, and Kubernetes has quickly emerged as the de-facto standard way to manage and orchestrate Docker containers.

This course provides a thorough grounding in both Docker and Kubernetes. We explain how to create lean and mean containers and how to ensure they operate in a resilient and responsive fashion. We explain how to enforce best practices by applying the principles laid out in the Twelve Factor App methodology.

Duration

3 days

 

Prerequisites

  • This course is aimed at developers with experience in any contemporary language, e.g. Java, C++, C#, Python, etc.

What you'll learn

  • Understand Docker images and containers
  • Create lean and mean Docker images
  • Use Kubernetes to orchestrate Docker containers
  • Adopt best practices as described by the Twelve Factor App methodology

Course details

Docker Images and Containers

  • Introduction to Containerization and Docker
  • Understanding Docker Images
  • A Closer Look at Images and Containers
  • Working with Containers
  • Containerizing a Spring Boot Application
  • Automating Dockerization via Maven

A Closer Look at Docker Images

  • The Layered Filesystem of Docker Images
  • A Closer Look at Dockerfile Instructions
  • Parameterizing Docker Containers
  • Multi-Stage Builds
  • Layered Jar Files

Docker Persistence and Orchestration

  • Running a Database in a Container
  • Interacting with the Containerized Database
  • Persisting Data in a Volume
  • Linking Containers
  • Linking Containers using Docker Compose

Getting Started with Kubernetes

  • Microservices and Orchestration
  • Setting up a Kubernetes Cluster
  • Kubernetes Pods
  • Kubernetes Volumes

Additional Kubernetes Techniques

  • Kubernetes Deployments
  • Services

The Twelve-Factor App

  • Intro to the Twelve-Factor Methodology
  • Coding Factors
  • Deployment Factors
  • Operational Factors

Kubernetes and Twelve-Factor Apps, Part One

  • Setting the Scene
  • Environment Variables
  • ConfigMaps
  • Secrets

Kubernetes and Twelve-Factor Apps, Part Two

  • Liveness and Readiness Probes
  • Jobs
  • CronJobs