Docker containers are the future of highly scalable software systems and make it easy to create, run, and deploy apps. The workshop starts with an overview of Docker containers, enabling you to understand howthey work. You’ll run third-party Docker images and also create your own images using Dockerfiles and multi-stage Dockerfiles. Next, you’ll create environments for Docker images, and expedite your deployment process with continuous integration. Moving ahead, you’ll tap into interesting topics and learn how to implement production-ready environments using Docker Swarm. To further secure Docker images and ensure that production environments are running at maximum capacity, you’ll apply best practices. Later, you’ll gain the skills to successfully move Docker containers from development to testing, and then into production. While doing so, you’ll learn how to troubleshoot issues, clear up resource bottlenecks and optimize the performance of services.
CONTENT
1. Running My First Docker Container
1.1. Advantages of Using Docker
1.2. Docker Engine
1.3. Running Docker Containers
1.4. Managing Docker Containers
1.5. Attaching to Containers Using the attach Command
2. Getting Started with Dockerfiles
2.1. What Is a Dockerfile?
2.2. Common Directives in Dockerfiles
2.3. Building Docker Images
2.4. Other Dockerfile Directives
3. Managing Your Docker Images
3.1. Docker Layers and Caching
3.2. Creating Base Docker Images
3.3. Docker Image Naming and Tagging
3.4. Using the latest Tag in Docker
3.5. Docker Image Tagging Policies
3.6. Storing and Publishing Your Docker Images
3.7. The Docker Registry
4. Multi-Stage Dockerfiles
4.1. Normal Docker Builds
4.2. What Is the Builder Pattern?
4.3. Introduction to Multi-Stage Dockerfiles
4.4. Dockerfile Best Practices
5. Composing Environments with Docker Compose
5.1. Docker Compose CLI
5.2. Configuration of Services
5.3. Service Dependency
6. Introduction to Docker Networking
6.1. Introduction
6.2. Native Docker DNS
6.3. Native Docker Network Drivers
6.4. Docker Overlay Networking
6.5. Non-Native Docker Networks
7. Docker Storage
7.1. The Container Life Cycle
7.2. Stateful versus Stateless Containers/Services
7.3. Docker Volumes and Stateful Persistence
7.4. Persistent and Ephemeral Volumes
7.5. Volumes versus Filesystem and Images
8. CI/CD Pipeline
8.1. What Is CI/CD?
8.2. Integrating GitHub and Jenkins
8.3. Integrating Jenkins and Docker Hub
9. Docker Swarm
9.1. How Docker Swarm Works?
9.2. Working with Docker Swarm
9.3. Troubleshooting Swarm Nodes
9.4. Deploying Swarm Deployments from Docker Compose
9.5. Swarm Service Rolling Updates
9.6. Managing Secrets and Configurations with Docker Swarm
9.7. Managing Swarm with Swarmpit
10. Kubernetes
10.1. Kubernetes Design
10.2. The Kubernetes API and Access
10.3. Kubernetes Resources
10.4. Kubernetes Package Manager: Helm
11. Docker Security
11.1. Privileged and Root User Access in Containers
11.2. Signing and Verifying Docker Images
11.3. Docker Image Security Scans
11.4. Scanning Images Locally Using Anchore Security Scan
11.5. Utilizing SaaS Security Scans with Snyk
11.6. Using Container Security Profiles
12. Best Practices
12.1. Working with Container Resources
12.2. Managing Container CPU Resources
12.3. Managing Container Memory Resources
12.4. Managing the Container Disk’s Read and Write Resources
12.5. Container Resources and Docker Compose
12.6. Best Practices in Docker
12.7. Enforcing Docker Best Practices in Your Code
Course Features
- Lectures 14
- Quizzes 2
- Duration 32 hours
- Skill level All levels
- Language English
- Students 9
- Certificate Yes
- Assessments Yes