Prerequisites:

Proficiency with the Linux CLI. A broad understanding of Linux system administration.

Supported Distributions:

Red Hat Enterprise Linux 7
Ubuntu 16.04 LTS

Duration

Three Days.

 

Outline for DOCKER

Chapter 1. CONTAINER TECHNOLOGY OVERVIEW

  • Application Management Landscape
  • Application Isolation
  • Resource Measurement and Control
  • Container Security
  • Container Security
  • Open Container Initiative
  • Docker Ecosystem
  • Docker Ecosystem (cont.)

LAB TASKS

  • Container Concepts runC
  • Container Concepts Systemd

Chapter 2. INSTALLING DOCKER

  • Installing Docker
  • Docker Architecture
  • Starting the Docker Daemon
  • Docker Daemon Configuration
  • Docker Control Socket
  • Enabling TLS for Docker
  • Validating Docker Install

LAB TASKS

  • Installing Docker
  • Install Docker via Docker Machine
  • Protecting Docker with TLS

Chapter 3. MANAGING CONTAINERS

  • Creating a New Container
  • Listing Containers
  • Viewing Container Operational Details
  • Running Commands in an Existing Container
  • Interacting with a Running Container
  • Stopping, Starting, and Removing Containers
  • Copying files in/out of Containers
  • Inspecting and Updating Containers
  • Docker Output Filtering & Formatting

LAB TASKS

  • Managing Containers
  • Configure a docker container to start at boot.

Chapter 4. MANAGING IMAGES

  • Docker Images
  • Listing and Removing Images
  • Searching for Images
  • Downloading Images
  • Committing Changes
  • Uploading Images
  • Export/Import Images
  • Save/Load Images

LAB TASKS

  • Docker Images
  • Docker Platform Images

Chapter 5. CREATING IMAGES WITH DOCKERFILE

  • Dockerfile
  • Caching
  • docker image build
  • Dockerfile Instructions
  • ENV and WORKDIR
  • Running Commands
  • Getting Files into the Image
  • Defining Container Executable
  • Best Practices

LAB TASKS

  • Dockerfile Fundamentals

Chapter 6. DOCKER VOLUMES

  • Volume Concepts
  • Creating and Using Internal Volumes
  • Creating and Using External Volumes
  • Managing Volumes (cont.)
  • Changing Data in Volumes
  • Removing Volumes
  • Backing up Volumes
  • SELinux Considerations
  • Mapping Devices

LAB TASKS

  • Docker Volumes

Chapter 7. DOCKER COMPOSE/SWARM

  • Concepts
  • Compose CLI
  • Defining a Service Set
  • Docker Swarm Proxy (Legacy)
  • Docker Engine Swarm Mode (Modern)
  • Creating a Swarm
  • Creating Services

LAB TASKS

  • Docker Compose
  • Docker Swarm Proxy
  • Docker Engine Swarm Mode

Chapter 8. DOCKER NETWORKING

  • Overview
  • Data-Link Layer Details
  • Network Layer Details
  • Hostnames and DNS
  • Service Reachability
  • Container to Container Communication
  • Container to Container: Links
  • Container to Container: Private Network
  • Managing Private Networks
  • Remote Host to Container
  • Multi-host Networks with Overlay Driver

LAB TASKS

  • Docker Networking
  • Exposing Ports
  • Docker Links
  • Docker Networking
  • Multi-host Networks

Chapter 9. DOCKER LOGGING

  • Docker Logging
  • Docker Logging with json-file and journald
  • Docker Logging with syslog
  • Docker Logging with Graylog or Logstash
  • Docker Logging with Fluentd
  • Docker Logging with Amazon or Google
  • Docker Logging with Splunk

LAB TASKS

  • Logging to syslog

Appendix A. DOCKER REGISTRY LAB TASKS

  • Docker Registry
  • Docker Registry (secured)
  • Docker Content Trust

Appendix B. CONTINUOUS INTEGRATION WITH GITLAB, GITLAB CI, AND DOCKER LAB TASKS

  • GitLab and GitLab CI Setup
  • Unit and Functional Tests