Welcome to Manning India!

We are pleased to be able to offer regional eBook pricing for Indian residents.
All eBook prices are discounted 40% or more!
Learn Docker in a Month of Lunches
Elton Stoneman
  • MEAP began September 2019
  • Publication in June 2020 (estimated)
  • ISBN 9781617297052
  • 530 pages (estimated)
  • printed in black & white

I usually don't give good ratings but this is the best book I've read in a long time.

Keith Kim
Go from zero to production readiness with Docker in 22 bite-sized lessons! Learn Docker in a Month of Lunches is an accessible task-focused guide to Docker on Linux, Windows, or Mac systems. In it, you’ll learn practical Docker skills to help you tackle the challenges of modern IT, from cloud migration and microservices to handling legacy systems. There’s no excessive theory or niche-use cases-- just a quick-and-easy guide to the essentials of Docker you’ll use every day.
Table of Contents detailed table of contents

Week 1: Understanding Docker Containers and Images

1 Before You Begin

1.1 Why containers will take over the world

1.1.1 Migrating apps to the cloud

1.1.2 Modernizing legacy apps

1.1.3 Building New Cloud Native Apps

1.1.4 Technical Innovation — Serverless And More

1.1.5 Digital transformation with DevOps

1.2 Is this book for you?

1.3 How to use this book

1.3.1 Your learning journey

1.3.2 Try-it-nows

1.3.3 Hands-on labs

1.3.4 Additional resources

1.4 Creating your lab environment

1.4.1 Install Docker

1.4.2 Verify your Docker setup

1.4.3 Download the source code for the book

1.4.4 Remember the cleanup commands

1.5 Being immediately effective

2 Understanding Docker and running Hello World

2.1 Running Hello World in a container

2.2 So what is a container?

2.3 Connecting to a container like a remote computer

2.4 Hosting a website in a container

2.5 Understanding how Docker runs containers

2.6 Lab: exploring the container filesystem

3 Building your own Docker images

3.1 Using a container image from Docker Hub

3.2 Writing your first Dockerfile

3.3 Building your own container image

3.4 Understanding Docker images and image layers

3.5 Optimizing Dockerfiles to use the image layer cache

3.6 Lab

4 Packaging applications from source code into Docker Images

4.1 Who needs a build server when you have a Dockerfile?

4.2 App walkthrough — Java source code

4.3 App walkthrough — Node.js source code

4.4 App walkthrough — Go source code

4.5 Understanding multi-stage Dockerfiles

4.6 Lab

5 Sharing Images with Docker Hub and Other Registries

5.1 Working with registries, repositories and image tags

5.2 Pushing your own images to Docker Hub

5.3 Running and using your own Docker registry

5.4 Using image tags effectively

5.5 Turning official images into golden images

5.6 Lab

6 Using Docker Volumes for Persistent Storage

6.1 Why data in containers is not permanent

6.2 Running containers with Docker volumes

6.3 Running containers with filesystem mounts

6.4 Limitations in file system mounts

6.5 Understanding how the container filesystem is built

6.6 Lab

Week 2: Running Distributed Applications in Containers

7 Running multi-container apps with Docker Compose

7.1 The anatomy of a Docker Compose file

7.2 Running a multi-container application with Compose

7.3 How Docker plugs containers together

7.4 Application configuration in Docker Compose

7.5 Understanding the problem Docker Compose solves

7.6 Lab

8 Supporting reliability with health checks and dependency checks

8.1 Building health checks into Docker images

8.2 Starting containers with dependency checks

8.3 Writing custom utilities for application check logic

8.4 Defining health checks and dependency checks in Docker Compose

8.5 Understanding how checks power self-healing apps

8.6 Lab

9 Adding observability with containerized monitoring

9.1 The monitoring stack for containerized applications

9.2 Exposing metrics from your application

9.3 Running a Prometheus container to collect metrics

9.4 Running a Grafana container to visualize metrics

9.5 Understanding the levels of observability

9.6 Lab

10 Running multiple environments with Docker Compose

10.1 Deploying many applications with Docker Compose

10.2 Using Docker Compose override files

10.3 Injecting configuration with environment variables and secrets

10.4 Reducing duplication with extension fields

10.5 Understanding the configuration workflow with Docker

10.6 Lab

11 Building and testing applications with Docker and Docker Compose

11.1 How the CI process works with Docker

11.2 Spinning up build infrastructure with Docker

11.3 Capturing build settings with Docker Compose

11.4 Writing CI jobs with no dependencies except Docker

11.5 Understanding containers in the CI process

11.6 Lab

Week 3: Running at Scale with a Container Orchestrator

12 Understanding Orchestration: Docker Swarm and Kubernetes

12.1 What is a container orchestrator?

12.2 Setting up a Docker Swarm cluster

12.3 Running applications as Docker Swarm services

12.4 Managing network traffic in the cluster

12.5 Understanding the choice between Docker Swarm and Kubernetes

12.6 Lab

13 Deploying distributed applications as stacks in Docker Swarm

13.1 Using Docker Compose for production deployments

13.2 Managing app configuration with config objects

13.3 Managing confidential settings with secrets

13.4 Storing data with volumes in the Swarm

13.5 Understanding how the cluster manages stacks

13.6 Lab

14 Automating releases with upgrades and rollbacks

14.1 The application upgrade process with Docker

14.2 Configuring production rollouts with Compose

14.3 Configuring service rollbacks

14.4 Managing downtime for your cluster

14.5 Understanding high availability in Swarm clusters

14.6 Lab

15 Configuring Docker for secure remote access and CI/CD

15.1 Endpoint options for the Docker API

15.2 Configuring Docker for secure remote access

15.3 Using Docker Contexts to work with remote engines

15.4 Adding Continuous Deployment to your CI pipeline

15.5 Understanding the access model for Docker

15.6 Lab

16 Building Docker images that run anywhere: Linux, Windows, Intel and Arm

16.1 Why multi-architecture images are important

16.2 Building multi-arch images from one or more Dockerfiles

16.3 Pushing multi-arch images to registries with manifests

16.4 Building multi-arch images with Docker buildx

16.5 Understanding where multi-arch images fit in your roadmap

16.6 Lab

Week 4: Getting Your Containers Ready for Production

17 Optimizing your Dockerfiles for size, speed and security

17.1 How you optimize Docker images

17.2 Choosing the right base images

17.3 Minimizing image layer count and layer size

17.4 Taking your multi-stage builds to the next level

17.5 Understanding why optimization counts

17.6 Lab

18 Application configuration management in containers

18.1 A multi-tiered approach to app configuration

18.2 Packaging config for every environment

18.3 Loading configuration from the runtime

18.4 Configuring legacy apps in the same way as new apps

18.5 Understanding why a flexible configuration model pays off

18.6 Lab

19 Writing and managing application logs with Docker

19.2 Welcome to stderr and stdout!

19.2 Relaying logs from other sinks to stdout

19.3 Collecting and forwarding container logs

19.4 Managing your log output and collection

19.5 Understanding the container logging model

19.6 Lab

20 Controlling HTTP traffic to containers with a reverse proxy

20.1 What is a reverse proxy?

20.2 Handling routing and SSL in the reverse proxy

20.3 Improving performance and reliability with the proxy

20.4 Using a Cloud-Native Reverse Proxy

20.5 Understanding the patterns a reverse proxy enables

20.6 Lab

21 Asynchronous communication with a message queue

21.1 What is asynchronous messaging?

21.2 Using a cloud-native message queue

21.3 Consuming and handling messages

21.4 Adding new features with message handlers

21.5 Understanding async messaging patterns

21.6 Lab

22 Never the end

22.1 Run your own proof-of-concept

22.2 Make a case for Docker in your organization

22.3 Plan the path to production

22.4 Meet the Docker community

About the Technology

Docker is a simple idea that has revolutionized the software industry. You build small virtual environments, called containers, that contain an application and all its dependencies. Because a container provides everything your application needs to run, they’re portable, fast, and reliable in any cloud or on-prem platform. Docker smooths major modern IT challenges, including cloud migration, legacy app modernization, clean installs, continuous deployment, and much more.

About the book

Learn Docker in a Month of Lunches is a developer-centric tutorial to using Docker in Linux, Windows, and Mac environments. You’ll learn essential Docker techniques, including how to run your own and third-party apps in containers, use a Docker registry to share container images, and confidently deploy containerized apps to production. When you’re done, you’ll be able to use Docker with any kind of application, from legacy monoliths to greenfield microservices.

What's inside

  • How Docker is changing development and operations
  • Packaging applications to run in containers
  • Putting containers into production
  • Building optimized Docker images
  • Running containerized apps at scale
  • Implementing Continuous Integration and Continuous Delivery with Docker

About the reader

For IT professionals. No previous Docker experience required.

About the author

Elton Stoneman is an architect at Docker, a Microsoft MVP and a Pluralsight author. He has used Docker since the earliest releases and helped organizations at every stage in their container journey. He is a regular speaker and workshop instructor at conferences, and distils many years of using and teaching Docker into this book.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $49.99 pBook + eBook + liveBook
MEAP eBook $19.99 $39.99 pdf + ePub + kindle + liveBook
Prices displayed in rupees will be charged in USD when you check out.

placing your order...

Don't refresh or navigate away from the page.

FREE domestic shipping on three or more pBooks