Docker Knowledge preferred but not required
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
-
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
- Application Management Landscape
- Application Isolation
- Resource Measurement and Control
- Container Security
- Container Security
- Open Container Initiative
- Docker Ecosystem
- LAB: Container Concepts runC
- Container Concepts Systemd
Introduction to Docker Part 2
Dockerize an application by writing Dockerfiles
- Installing Docker
- Docker Architecture
- Starting the Docker Daemon
- Docker Daemon Configuration
- Docker Control Socket
- Enabling TLS for Docker
- Validating Docker Install
- LAB: Installing Docker
- Install Docker via Docker Machine
- Protecting Docker with TLS
- 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
- LAB: Managing Containers
- Configure a docker container to start at boot.
Introduction to Images
- Docker Images
- Listing and Removing Images
- Searching for Images
- Downloading Images
- Committing Changes
- Uploading Images
- Export/Import Images
- Save/Load Images
- LAB: Docker Images
- Docker Platform Images
Creation and managing of Images
- Dockerfile
- Caching
- Docker image build
- Dockerfile Instructions
- ENV and WORKDIR
- Running Commands
- Getting Files into the Image
- Defining Container Executable
- Best Practices
- LAB: Dockerfile Fundamentals
Docker continuous integration
- GitLab and GitLab CI Setup
- Unit and Functional Tests
- Continuous Integration with GITLAB, GITLAB CI, AND Docker Lab Tasks
DAY 2
Volumes
- 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: Docker Volumes
Docker Networking Basics
- Overview
- Data-Link Layer Details
- Network Layer Details
- Hostnames and DNS
- Local Host <--> Container
- Container <--> Container (same node)
- Container <--> Container: Links
- Container <--> Container: Private Network
- Managing Private Networks
- Remote Host <--> Container
- Multi-host Networks with Overlay Driver
- LAB: Docker Networking
- Docker Ports and Links
- Multi-host Networks
Docker Compose & Scaling out with Swarm Mode
- Concepts
- Compose CLI
- Defining a Service Set
- Docker Swarm Proxy (Legacy)
- Docker Engine Swarm Mode (Modern)
- Creating a Swarm
- Creating Services
- LAB: Docker Compose
- Docker Swarm Proxy
- Docker Engine Swarm Mode
Managing Secrets
-
- Docker Registry
- Docker Registry (secured)
- List Create, manage, and update Docker secrets
-
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