
Docker textbook
Description
Book Introduction
Practical Docker usage tips from a Docker expert!
Let's start with a configuration that's perfect for beginners!
Get ready for real-world use with 200 practical exercises!
This book follows the author's 'One Hour a Day Study Strategy', which he has perfected over the years.
Excluding Chapters 1 and 22, which do not have practice, all 20 chapters are structured so that one hour is sufficient to 'read the content, practice, and then solve the practice problems.'
In particular, since the book expands on topics step by step each day, even those who are new to Docker can read and understand the entire book without any burden.
This book contains over 200 exercises.
Even if you don't know much about Docker, you can apply what you've learned in each chapter through hands-on practice, providing a progressive experience that allows you to understand and utilize Docker, distributed applications, container orchestration, and the container ecosystem.
In particular, each training session focuses on tasks that may be encountered in the field, making it ideal for preparing for real-world applications.
Let's start with a configuration that's perfect for beginners!
Get ready for real-world use with 200 practical exercises!
This book follows the author's 'One Hour a Day Study Strategy', which he has perfected over the years.
Excluding Chapters 1 and 22, which do not have practice, all 20 chapters are structured so that one hour is sufficient to 'read the content, practice, and then solve the practice problems.'
In particular, since the book expands on topics step by step each day, even those who are new to Docker can read and understand the entire book without any burden.
This book contains over 200 exercises.
Even if you don't know much about Docker, you can apply what you've learned in each chapter through hands-on practice, providing a progressive experience that allows you to understand and utilize Docker, distributed applications, container orchestration, and the container ecosystem.
In particular, each training session focuses on tasks that may be encountered in the field, making it ideal for preparing for real-world applications.
- You can preview some of the book's contents.
Preview
index
Part 1: Understanding Docker Containers and Images
Before starting Chapter 1
1.1 Why Containers Are Taking Over the IT World
1.2 Target Audience
1.3 Setting up a practice environment
1.4 Get started right away
Chapter 2: Basic Docker Usage
2.1 Running Hello World in a Container
2.2 What is a container?
2.3 Using a container as a remote computer
2.4 Hosting a Website Using Containers
2.5 How Docker Runs Containers
2.6 Exercise: Handling Container File Systems
Chapter 3: Creating a Docker Image
3.1 Using Images Shared on Docker Hub
3.2 Writing a Dockerfile
3.3 Building a Container Image
3.4 Understanding Docker Images and Image Layers
3.5 Optimizing Dockerfile Scripts Using Image Layer Cache
3.6 Practice Problems
Chapter 4 From Application Source Code to Docker Image
4.1 I have a Dockerfile, do I need a build server?
4.2 Practical Application Building Example: Java Source Code
4.3 Practical Application Building Example: Node.js Source Code
4.4 Practical Application Building Example: Go Source Code
4.5 Understanding Multi-Stage Dockerfile Scripts
4.6 Practice Problems
Chapter 5: Sharing Images to Registries like Docker Hub
5.1 Handling Registries, Repositories, and Image Tags
5.2 Pushing a Built Image Directly to Docker Hub
5.3 Running Your Own Docker Registry
5.4 Using Image Tags Effectively
5.5 Switching from Official Images to Golden Images
5.6 Practice Problems
Chapter 6: Persistent Storage Using Docker Volumes
6.1 Why Data in Containers Disappears
6.2 Running a container using a Docker volume
6.3 Running a container that uses a file system mount
6.4 Limitations of File System Mounts
6.5 How is a container's file system created?
6.6 Practice Problems
Part 2: Running Distributed Applications with Containers
Chapter 7: Running Distributed Applications with Docker Compose
7.1 Structure of a Docker Compose File
7.2 Running an Application Composed of Multiple Containers Using Docker Compose
7.3 Communication between Docker containers
7.4 Specifying Application Settings with Docker Compose
7.5 Docker Compose Isn't a Panacea
7.6 Practice Problems
Chapter 8: Ensuring Application Reliability with Health and Dependency Checks
8.1 Building a Docker Image with Health Check Support
8.2 Running a container with dependency checks applied
8.3 Creating a Custom Utility for Application Checking
8.4 Defining Health and Dependency Checks in Docker Compose
8.5 Why Health Checks and Dependency Checks Can Make Your Applications Resilient
8.6 Practice Problems
Chapter 9: Building Transparent Applications with Container Monitoring
9.1 Monitoring Technology Stack Used in Containerized Applications
9.2 Outputting Measurements from an Application
9.3 Running the Prometheus container to collect metrics
9.4 Running the Grafana Container for Metrics Visualization
9.5 Level of Transparency
9.6 Practice Problems
Chapter 10: Configuring Multiple Environments Using Docker Compose
10.1 Deploying Multiple Applications with Docker Compose
10.2 Docker Compose Override File
10.3 Injecting settings using environment variables and secret values
10.4 Removing Duplicates with Extended Fields
10.5 Understanding the Docker Configuration Workflow
10.6 Practice Problems
Chapter 11: Building and Testing Applications with Docker and Docker Compose
11.1 Continuous Integration Process Using Docker
11.2 Building a Build Infrastructure Using Docker
11.3 Build Configuration Using Docker Compose
11.4 Creating a CI job that doesn't require dependencies other than Docker
11.5 Containers Related to the CI Pipeline
11.6 Practice Problems
Part 3: Scaling with Container Orchestration
Chapter 12: Container Orchestration: Docker Swarm and Kubernetes
12.1 What is a container orchestration tool?
12.2 Creating a Cluster with Docker Swarm
12.3 Running Applications as Docker Swarm Services
12.4 Managing Network Traffic in a Cluster Environment
12.5 Should I use Docker Swarm or Kubernetes?
12.6 Practice Problems
Chapter 13: Deploying Distributed Applications with Docker Swarm Stacks
13.1 Operating environment using Docker Compose
13.2 Managing settings using the config object
13.3 Managing confidential settings information using secret values
13.4 Using Volumes in Swarm
13.5 How does a cluster manage stacks?
13.6 Practice Problems
Chapter 14: Automating Updates Using Upgrades and Rollbacks
14.1 Application Upgrade Process Using Docker
14.2 Setting up rolling updates for your production environment
14.3 Setting up service rollback
14.4 Cluster Downtime
14.5 High Availability in Swarm Clusters
14.6 Practice Problems
Chapter 15: Configuring Docker for Secure Remote Access and CI/CD
15.1 Docker API Endpoint Format
15.2 Configuring Docker Engine for Secure Remote Access
15.3 Working with Remote Engines Using Docker Contexts
15.4 Adding Continuous Deployment to Your Continuous Integration Pipeline
15.5 Docker Resource Access Model
15.6 Practice Problems
Chapter 16: Building Docker Images That Run Anywhere: Linux, Windows, Intel, and ARM
16.1 Why Multi-Architecture Images Are Important
16.2 Dockerfile script for creating multi-architecture images
16.3 Pushing Multi-Architecture Images to the Registry
16.4 Building Multi-Architecture Images with Docker Buildx
16.5 Development Roadmap and Multi-Architecture Images
16.6 Practice Problems
Part 4: Preparing Containers for Operational Environment Launch
Chapter 17: Optimizing Docker Images: Security, Capacity, and Speed
17.1 How to Optimize Docker Images
17.2 How to Choose a Good Base Image
17.3 The number of image layers and image size should be kept to a minimum.
17.4 Upgrading Multi-Stage Builds to the Next Level
17.5 Why Optimization Matters
17.6 Practice Problems
Chapter 18: Managing Application Settings in Containers
18.1 Multi-stage application settings
18.2 Packaging Environment-Specific Settings
18.3 Reading settings at runtime
18.4 Applying Configuration Strategies to Legacy Applications
18.5 Benefits of a Flexible Configuration Model
18.6 Practice Problems
Chapter 19: Log Creation and Management Using Docker
19.1 Standard error stream and standard output stream
19.2 Sending logs output elsewhere to the stdout stream
19.3 Collecting and Forwarding Container Logs
19.4 Managing Log Output and Log Collection
19.5 Container Logging Model
19.6 Practice Problems
Chapter 20: Controlling Container H TTP Traffic Using a Reverse Proxy
20.1 What is a reverse proxy?
20.2 Applying Routing and SSL to a Reverse Proxy
20.3 Improving Performance and Reliability Using Proxies
20.4 Cloud Native Reverse Proxy
20.5 Understanding Patterns Using Reverse Proxies
20.6 Practice Problems
Chapter 21: Asynchronous Communication Using Message Queues
21.1 What is asynchronous messaging?
21.2 Using Cloud Native Message Queues
21.3 Receiving and Processing Messages
21.4 Adding Functionality with Message Handlers
21.5 Understanding Asynchronous Messaging Patterns
21.6 Practice Problems
Chapter 22: Endless Diligence
22.1 Proof of Concept Using Docker
22.2 Demonstrate the usefulness of Docker in your organization.
22.3 The Road to Operating Environment
22.4 Introducing the Docker Community
Search
Before starting Chapter 1
1.1 Why Containers Are Taking Over the IT World
1.2 Target Audience
1.3 Setting up a practice environment
1.4 Get started right away
Chapter 2: Basic Docker Usage
2.1 Running Hello World in a Container
2.2 What is a container?
2.3 Using a container as a remote computer
2.4 Hosting a Website Using Containers
2.5 How Docker Runs Containers
2.6 Exercise: Handling Container File Systems
Chapter 3: Creating a Docker Image
3.1 Using Images Shared on Docker Hub
3.2 Writing a Dockerfile
3.3 Building a Container Image
3.4 Understanding Docker Images and Image Layers
3.5 Optimizing Dockerfile Scripts Using Image Layer Cache
3.6 Practice Problems
Chapter 4 From Application Source Code to Docker Image
4.1 I have a Dockerfile, do I need a build server?
4.2 Practical Application Building Example: Java Source Code
4.3 Practical Application Building Example: Node.js Source Code
4.4 Practical Application Building Example: Go Source Code
4.5 Understanding Multi-Stage Dockerfile Scripts
4.6 Practice Problems
Chapter 5: Sharing Images to Registries like Docker Hub
5.1 Handling Registries, Repositories, and Image Tags
5.2 Pushing a Built Image Directly to Docker Hub
5.3 Running Your Own Docker Registry
5.4 Using Image Tags Effectively
5.5 Switching from Official Images to Golden Images
5.6 Practice Problems
Chapter 6: Persistent Storage Using Docker Volumes
6.1 Why Data in Containers Disappears
6.2 Running a container using a Docker volume
6.3 Running a container that uses a file system mount
6.4 Limitations of File System Mounts
6.5 How is a container's file system created?
6.6 Practice Problems
Part 2: Running Distributed Applications with Containers
Chapter 7: Running Distributed Applications with Docker Compose
7.1 Structure of a Docker Compose File
7.2 Running an Application Composed of Multiple Containers Using Docker Compose
7.3 Communication between Docker containers
7.4 Specifying Application Settings with Docker Compose
7.5 Docker Compose Isn't a Panacea
7.6 Practice Problems
Chapter 8: Ensuring Application Reliability with Health and Dependency Checks
8.1 Building a Docker Image with Health Check Support
8.2 Running a container with dependency checks applied
8.3 Creating a Custom Utility for Application Checking
8.4 Defining Health and Dependency Checks in Docker Compose
8.5 Why Health Checks and Dependency Checks Can Make Your Applications Resilient
8.6 Practice Problems
Chapter 9: Building Transparent Applications with Container Monitoring
9.1 Monitoring Technology Stack Used in Containerized Applications
9.2 Outputting Measurements from an Application
9.3 Running the Prometheus container to collect metrics
9.4 Running the Grafana Container for Metrics Visualization
9.5 Level of Transparency
9.6 Practice Problems
Chapter 10: Configuring Multiple Environments Using Docker Compose
10.1 Deploying Multiple Applications with Docker Compose
10.2 Docker Compose Override File
10.3 Injecting settings using environment variables and secret values
10.4 Removing Duplicates with Extended Fields
10.5 Understanding the Docker Configuration Workflow
10.6 Practice Problems
Chapter 11: Building and Testing Applications with Docker and Docker Compose
11.1 Continuous Integration Process Using Docker
11.2 Building a Build Infrastructure Using Docker
11.3 Build Configuration Using Docker Compose
11.4 Creating a CI job that doesn't require dependencies other than Docker
11.5 Containers Related to the CI Pipeline
11.6 Practice Problems
Part 3: Scaling with Container Orchestration
Chapter 12: Container Orchestration: Docker Swarm and Kubernetes
12.1 What is a container orchestration tool?
12.2 Creating a Cluster with Docker Swarm
12.3 Running Applications as Docker Swarm Services
12.4 Managing Network Traffic in a Cluster Environment
12.5 Should I use Docker Swarm or Kubernetes?
12.6 Practice Problems
Chapter 13: Deploying Distributed Applications with Docker Swarm Stacks
13.1 Operating environment using Docker Compose
13.2 Managing settings using the config object
13.3 Managing confidential settings information using secret values
13.4 Using Volumes in Swarm
13.5 How does a cluster manage stacks?
13.6 Practice Problems
Chapter 14: Automating Updates Using Upgrades and Rollbacks
14.1 Application Upgrade Process Using Docker
14.2 Setting up rolling updates for your production environment
14.3 Setting up service rollback
14.4 Cluster Downtime
14.5 High Availability in Swarm Clusters
14.6 Practice Problems
Chapter 15: Configuring Docker for Secure Remote Access and CI/CD
15.1 Docker API Endpoint Format
15.2 Configuring Docker Engine for Secure Remote Access
15.3 Working with Remote Engines Using Docker Contexts
15.4 Adding Continuous Deployment to Your Continuous Integration Pipeline
15.5 Docker Resource Access Model
15.6 Practice Problems
Chapter 16: Building Docker Images That Run Anywhere: Linux, Windows, Intel, and ARM
16.1 Why Multi-Architecture Images Are Important
16.2 Dockerfile script for creating multi-architecture images
16.3 Pushing Multi-Architecture Images to the Registry
16.4 Building Multi-Architecture Images with Docker Buildx
16.5 Development Roadmap and Multi-Architecture Images
16.6 Practice Problems
Part 4: Preparing Containers for Operational Environment Launch
Chapter 17: Optimizing Docker Images: Security, Capacity, and Speed
17.1 How to Optimize Docker Images
17.2 How to Choose a Good Base Image
17.3 The number of image layers and image size should be kept to a minimum.
17.4 Upgrading Multi-Stage Builds to the Next Level
17.5 Why Optimization Matters
17.6 Practice Problems
Chapter 18: Managing Application Settings in Containers
18.1 Multi-stage application settings
18.2 Packaging Environment-Specific Settings
18.3 Reading settings at runtime
18.4 Applying Configuration Strategies to Legacy Applications
18.5 Benefits of a Flexible Configuration Model
18.6 Practice Problems
Chapter 19: Log Creation and Management Using Docker
19.1 Standard error stream and standard output stream
19.2 Sending logs output elsewhere to the stdout stream
19.3 Collecting and Forwarding Container Logs
19.4 Managing Log Output and Log Collection
19.5 Container Logging Model
19.6 Practice Problems
Chapter 20: Controlling Container H TTP Traffic Using a Reverse Proxy
20.1 What is a reverse proxy?
20.2 Applying Routing and SSL to a Reverse Proxy
20.3 Improving Performance and Reliability Using Proxies
20.4 Cloud Native Reverse Proxy
20.5 Understanding Patterns Using Reverse Proxies
20.6 Practice Problems
Chapter 21: Asynchronous Communication Using Message Queues
21.1 What is asynchronous messaging?
21.2 Using Cloud Native Message Queues
21.3 Receiving and Processing Messages
21.4 Adding Functionality with Message Handlers
21.5 Understanding Asynchronous Messaging Patterns
21.6 Practice Problems
Chapter 22: Endless Diligence
22.1 Proof of Concept Using Docker
22.2 Demonstrate the usefulness of Docker in your organization.
22.3 The Road to Operating Environment
22.4 Introducing the Docker Community
Search
Detailed image

Publisher's Review
This book is for developers who want to migrate to the world of containers.
There are already several books out there that serve as guides for those who have previously worked in operations or development to transition to a container environment, and some of them are even translated. However, I have never seen a book that is as practical as this one.
This book is based on a one-hour-a-day study strategy for one month.
For those who have practical experience but are unfamiliar with the container environment, the first week will begin with a step-by-step explanation of Docker and containers, and then gradually learn how to use Docker, starting with running a simple container and building the desired image.
This book also includes a brief overview of the process and tips for migrating existing legacy applications to containers, making it a perfect fit for anyone unfamiliar with container technology but facing this task.
If you've somehow migrated your legacy applications to containers, the second week is about learning how to fully leverage the benefits of a container environment.
Learn how to implement health checks and monitoring features, and build a continuous integration/delivery infrastructure into your container environment using Docker Compose.
The third week is a taste of container orchestration.
It may be a bit old-fashioned, but it is something you absolutely cannot miss when studying containers.
First, we'll learn how to deploy distributed applications with Docker Swarm, which is a bit more lightweight, and then we'll learn how to automate upgrades and rollbacks, and create multi-architecture images.
This alone won't be enough to truly teach you container orchestration, but it will serve as a starting point for learning the author's upcoming book, "Kubernetes Textbook."
The final week covers practical content that can be applied immediately in the workplace.
Learn about Docker image optimization, application configuration management, log management, and asynchronous communication required for implementing a full-fledged microservice architecture.
- From the Translator's Note
There are already several books out there that serve as guides for those who have previously worked in operations or development to transition to a container environment, and some of them are even translated. However, I have never seen a book that is as practical as this one.
This book is based on a one-hour-a-day study strategy for one month.
For those who have practical experience but are unfamiliar with the container environment, the first week will begin with a step-by-step explanation of Docker and containers, and then gradually learn how to use Docker, starting with running a simple container and building the desired image.
This book also includes a brief overview of the process and tips for migrating existing legacy applications to containers, making it a perfect fit for anyone unfamiliar with container technology but facing this task.
If you've somehow migrated your legacy applications to containers, the second week is about learning how to fully leverage the benefits of a container environment.
Learn how to implement health checks and monitoring features, and build a continuous integration/delivery infrastructure into your container environment using Docker Compose.
The third week is a taste of container orchestration.
It may be a bit old-fashioned, but it is something you absolutely cannot miss when studying containers.
First, we'll learn how to deploy distributed applications with Docker Swarm, which is a bit more lightweight, and then we'll learn how to automate upgrades and rollbacks, and create multi-architecture images.
This alone won't be enough to truly teach you container orchestration, but it will serve as a starting point for learning the author's upcoming book, "Kubernetes Textbook."
The final week covers practical content that can be applied immediately in the workplace.
Learn about Docker image optimization, application configuration management, log management, and asynchronous communication required for implementing a full-fledged microservice architecture.
- From the Translator's Note
GOODS SPECIFICS
- Date of issue: August 16, 2022
- Page count, weight, size: 548 pages | 183*235*22mm
- ISBN13: 9791140700943
You may also like
카테고리
korean
korean