Docker Essentials
- Description
- Curriculum
- FAQ
- Notice
- Reviews

- Docker and Kubernetes is one of the world’s most popular container and container orchestration tools. Established by the Cloud Native Computing Foundation (CNCF),
Developers often struggle when first encountering the cloud. Learning about distributed systems, becoming familiar with technologies such as containers and functions, and knowing how to put everything together can be daunting. With this practical guide, you’ll get up to speed on patterns for building cloud native applications and best practices for common tasks such as messaging, eventing, and DevOps.
Learning Objectives
The Learning Path will prepare you to understand and demonstrate your knowledge in each of the general domains of developing cloud native applications using docker and deploying and kubernetes
- Learn the fundamentals of cloud native applications
- Explore key cloud native communication, connectivity, and composition patterns
- Learn decentralized data management techniques
- Use event-driven architecture to build distributed and scalable cloud native applications
- Explore the most commonly used patterns for API management and consumption
- Examine some of the tools and technologies you’ll need for building cloud native systems
Intended Audience
This Learning Path is intended specifically for Docker and Kubernetes application developers. Anyone interested in learning how to work with Kubernetes will also benefit from this Learning Path.
Prerequisites
A solid understanding of containers, and Docker in particular, will be of value. If you are not comfortable with Docker and Kubernetes , you are encouraged to complete the Docker and Kubernetes Learning Path.
This Learning path helps you to learn from fundamentals to advanced Docker and Kubernetes running on Linux machines. You should be comfortable working with basic Linux commands.
Additional Documentation
-
1Before you begin
-
2Building new cloud-native apps
-
3Is this book for you?
-
4Understanding Docker and running Hello World
-
5Connecting to a container like a remote computer
-
6Hosting a website in a container
-
7Understanding how Docker runs containers
-
8Building your own Docker images
-
9Writing your first Dockerfile
-
10Understanding Docker images and image layers
-
11Optimizing Dockerfiles to use the image layer cache
-
12Packaging applications from source code into Docker Images
-
13App walkthrough: Java source code
-
14App walkthrough: Node.js source code
-
15App walkthrough: Go source code
-
16Sharing images with Docker Hub and other registries
-
17Running and using your own Docker registry
-
18Using image tags effectively
-
19Using Docker volumes for persistent storage
-
20Running containers with Docker volumes
-
21Limitations of filesystem mounts
-
22Running multi-container apps with Docker Compose
-
23Running a multi-container application with Compose
-
24How Docker plugs containers together
-
25Application configuration in Docker Compose
-
26Supporting reliability with health checks and dependency checks
-
27Starting containers with dependency checks
-
28Defining health checks and dependency checks in Docker Compose
-
29Adding observability with containerized monitoring
-
30Exposing metrics from your application
-
31Running a Prometheus container to collect metrics
-
32Running a Grafana container to visualize metrics
-
33Running multiple environments with Docker Compose
-
34Using Docker Compose override files
-
35Injecting configuration with environment variables and secrets
-
36Reducing duplication with extension fields
-
37Building and testing applications with Docker and Docker Compose
-
38Capturing build settings with Docker Compose
-
39Writing CI jobs with no dependencies except Docker
-
40Understanding orchestration: Docker Swarm and Kubernetes
-
41Running applications as Docker Swarm services
-
42Managing network traffic in the cluster
-
43Understanding the choice between Docker Swarm and Kubernetes
-
44Deploying distributed applications as stacks in Docker Swarm
-
45Managing app configuration with config objects
-
46Managing confidential settings with secrets
-
47Storing data with volumes in the Swarm
-
48Automating releases with upgrades and rollbacks
-
49Configuring production rollouts with Compose
-
50Configuring service rollbacks
-
51Managing downtime for your cluster
-
52Configuring Docker for secure remote access and CI/CD
-
53Configuring Docker for secure remote access
-
54Adding continuous deployment to your CI pipeline
-
55Building Docker images that run anywhere: Linux, Windows, Intel, and Arm
-
56Building multi-arch images from one or more Dockerfiles
-
57Pushing multi-arch images to registries with manifests
-
58Building multi-arch images with Docker Buildx
-
59Optimizing your Docker images for size, speed, and security
-
60Choosing the right base images
-
61Minimizing image layer count and layer size
-
62Taking your multi-stage builds to the next level
-
63Application configuration management in containers
-
64Packaging config for every environment
-
65Loading configuration from the runtime
-
66Configuring legacy apps in the same way as new apps
-
67Writing and managing application logs with Docker
-
68Relaying logs from other sinks to stdout
-
69Collecting and forwarding container logs
-
70Managing your log output and collection
-
71Controlling HTTP traffic to containers with a reverse proxy
-
72Handling routing and SSL in the reverse proxy
-
73Improving performance and reliability with the proxy
-
74Using a cloud-native reverse proxy
-
75Asynchronous communication with a message
-
76Using a cloud-native message
-
77Adding new features with message handlers
Coming Soon