Skip to product information
Docker textbook
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.
  • 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

Detailed image
Detailed Image 1

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
GOODS SPECIFICS
- Date of issue: August 16, 2022
- Page count, weight, size: 548 pages | 183*235*22mm
- ISBN13: 9791140700943

You may also like

카테고리