Course Code: dockcus
Duration: 32 hours
Prerequisites:

Docker Knowledge preferred but not required

Overview:

1. Introduction to Docker:
1.1 Docker Overview and installation
1.2 Definition and creation of Docker containers
1.3 Building Docker images and how to store and retrieve them from Docker Hub
1.4 Construction of containers using images
1.5 Use of Docker for deploying applications
1.6 Networking Docker containers
1.7 Data persistence with volumes

2. Advanced Docker Operations:
2.1 Control the Docker daemon
2.2 Configuration of security and TLS
2.3 How to run applications on multiple containers across multiple host machines
2.4 Introduction to Docker Content Trust and Docker Trusted Registry
2.5 Building of micro service applications

Course Outline:
  1. DOCKER FUNDAMENTALS

Course duration: Two Days (16 hours total)

DAY 1

Introduction to Docker Part 1

  • Understand what Docker is and how Docker can modernize the software supply-chain
  • Conceptualize a mental model for Docker workflow
  • Understand the foundations of Docker security and apply secrets management
  • Understand the foundations of containerization on a single Docker node
  1. Application Management Landscape
  2. Application Isolation
  3. Resource Measurement and Control
  4. Container Security
  5. Container Security
  6. Open Container Initiative
  7. Docker Ecosystem
  8. LAB: Container Concepts runC
  9. Container Concepts Systemd

Introduction to Docker Part 2

Dockerize an application by writing Dockerfiles

  1. Installing Docker
  2. Docker Architecture
  3. Starting the Docker Daemon
  4. Docker Daemon Configuration
  5. Docker Control Socket
  6. Enabling TLS for Docker
  7. Validating Docker Install
  8. LAB: Installing Docker
  9. Install Docker via Docker Machine
  10. Protecting Docker with TLS
  11. Creating a New Container
  12. Listing Containers
  13. Viewing Container Operational Details
  14. Running Commands in an Existing Container
  15. Interacting with a Running Container
  16. Stopping, Starting, and Removing Containers
  17. Copying files in/out of Containers
  18. Inspecting and Updating Containers
  19. LAB: Managing Containers
  20. Configure a docker container to start at boot.

Introduction to Images

  1. Docker Images
  2. Listing and Removing Images
  3. Searching for Images
  4. Downloading Images
  5. Committing Changes
  6. Uploading Images
  7. Export/Import Images
  8. Save/Load Images
  9. LAB: Docker Images
  10. Docker Platform Images

Creation and managing of Images

  1. Dockerfile
  2. Caching
  3. Docker image build
  4. Dockerfile Instructions
  5. ENV and WORKDIR
  6. Running Commands
  7. Getting Files into the Image
  8. Defining Container Executable
  9. Best Practices
  10. LAB: Dockerfile Fundamentals

Docker continuous integration

  1. GitLab and GitLab CI Setup
  2. Unit and Functional Tests
  3. Continuous Integration with GITLAB, GITLAB CI, AND Docker Lab Tasks

DAY 2

Volumes

  1. Concepts
  2. Creating and Using Internal Volumes
  3. Creating and Using External Volumes
  4. Managing Volumes (cont.)
  5. Changing Data in Volumes
  6. Removing Volumes
  7. Backing up Volumes
  8. SELinux Considerations
  9. Mapping Devices
  10. LAB: Docker Volumes

Docker Networking Basics

  1. Overview
  2. Data-Link Layer Details
  3. Network Layer Details
  4. Hostnames and DNS
  5. Local Host <--> Container
  6. Container <--> Container (same node)
  7. Container <--> Container: Links
  8. Container <--> Container: Private Network
  9. Managing Private Networks
  10. Remote Host <--> Container
  11. Multi-host Networks with Overlay Driver
  12. LAB: Docker Networking
  13. Docker Ports and Links
  14. Multi-host Networks

Docker Compose & Scaling out with Swarm Mode

  1. Concepts
  2. Compose CLI
  3. Defining a Service Set
  4. Docker Swarm Proxy (Legacy)
  5. Docker Engine Swarm Mode (Modern)
  6. Creating a Swarm
  7. Creating Services
  8. LAB: Docker Compose
  9. Docker Swarm Proxy
  10. Docker Engine Swarm Mode

Managing Secrets

    • Docker Registry
    • Docker Registry (secured)
    • List Create, manage, and update Docker secrets


  1. DOCKER FOR ENTERPRISE DEVELOPERS

Course Duration: Two Days (16 Hours)

DAY 3

  • Architecture of a Highly Distributed Application
  • Development Pipeline Overview
  • Developing Applications Using Docker

    • Editing and Continuation
    • Debugging
    • Docker Compose
    • Testing
    • Health Checking
    • Defensive Programming
    • Logging and Error Handling
    • Docker Builder
    • Docker Secrets
    • Routing Mesh
    • HTTP Routing Mesh

DAY 4

  • Continuous Integration and Delivery

    • Docker Universal Control Plane and Trusted Registry
    • Configuration Management
    • Tagging and Versioning
    • Content Trust
    • Image Scanning
    • Webhooks
    • Image Promotion