Docker in Action, Second Edition
Jeff Nickoloff and Stephen Kuenzli
  • MEAP began June 2018
  • Publication in December 2018 (estimated)
  • ISBN 9781617294761
  • 350 pages (estimated)
  • printed in black & white

A great book for those looking to get started with, or expand their use of, Docker.

Paul Brown


An eBook copy of the previous edition, Docker in Action (First Edition), is included at no additional cost. It will be automatically added to your Manning Bookshelf within 24 hours of purchase.

Even small applications have dozens of components. Large applications may have thousands, which makes them challenging to install, maintain, and remove. Docker bundles all application components into a package called a container that keeps things tidy and helps manage any dependencies on other applications or infrastructure. Used by everyone from small start-ups to eBay and Lyft, Docker has changed development for the better. If you’re looking to join the container revolution, Docker in Action, Second Edition will get you started.
Table of Contents detailed table of contents

Part 1: Keeping a Tidy and Trustworthy Computer

1. Welcome to Docker

1.1. What is Docker?

1.1.1. “Hello, World”

1.1.2. Containers

1.1.3. Containers are not virtualization

1.1.4. Running software in containers for isolation

1.1.5. Shipping containers

1.2. What problems does Docker solve?

1.2.1. Getting organized

1.2.2. Improving portability

1.2.3. Protecting your computer

1.3. Why is Docker important?

1.4. Where and when to use Docker

1.5. Docker in the Larger Ecosystem

1.6. Getting help with the Docker command line

1.7. Summary

2. Running software in containers

2.1. Controlling containers: building a website monitor

2.1.1. Creating and starting a new container

2.1.2. Running interactive containers

2.1.3. Listing, stopping, restarting, and viewing output of containers

2.2. Solved problems and the PID namespace

2.3. Eliminating metaconflicts: building a website farm

2.3.1. Flexible container identification

2.3.2. Container state and dependencies

2.4. Building environment-agnostic systems

2.4.1. Read-only file systems

2.4.2. Environment variable injection

2.5. Building durable containers

2.5.1. Automatically restarting containers

2.5.2. PID 1 and init systems

2.6. Cleaning up

2.7. Summary

3. Software installation simplified

3.1. Identifying software

3.1.1. What is a named repository?

3.1.2. Using tags

3.2. Finding and installing software

3.2.1. Working with Docker registries from the command line

3.2.2. Using alternative registries

3.2.3. Images as files

3.2.4. Installing from a Dockerfile

3.2.5. Docker Hub from the website

3.3. Installation files and isolation

3.3.1. Image layers in action

3.3.2. Layer relationships

3.3.3. Container file system abstraction and isolation

3.3.4. Benefits of this toolset and file system structure

3.3.5. Weaknesses of union file systems

3.4. Summary

4. Working with storage and volumes

4.1. File trees and mount points

4.2. Bind mounts

4.3. In-memory storage

4.4. Docker volumes

4.4.1. Volumes provide container-independent data management

4.4.2. Using volumes with a NoSQL database

4.5. Shared mount points and sharing files

4.5.1. Anonymous volumes and the volumes-from flag

4.6. Cleaning up volumes

4.7. Advanced storage with volume plugins

4.8. Summary

5. Single Host Networking

6. Limiting risk with resource controls

Part 2: Packaging Software for Distribution

7. Packaging Software in Images

8. Building images automatically with Dockerfiles

9. Public and Private Software Distribution

10. Running Customized Registries

11. Image Building and Delivery Pipelines

Part 3: Multi-Container and Multi-Host Environments

12. Orchestrate services locally with Docker Compose

13. Orchestrate Services on a Cluster of Docker Hosts with Swarm Mode

14. Advanced Service Clustering with Swarm Mode

15. Advanced Networking Patterns

Part 4: Dockerized Workflows and Operations

16. First-Class Configuration Abstractions

17. Operating Containers in Production


Appendix A: Clusters with Docker Machine and Swarm v1

About the Technology

The idea behind Docker is simple. Create a tiny virtual environment called a container that holds just your application and its dependencies. The Docker engine uses the host operating system to keep track of your containers. Applications running inside containers share resources, making their footprints small. They are easy to install, manage, and remove.

About the book

Docker in Action, Second Edition teaches you the skills and knowledge you need to create, deploy, and manage applications hosted in Docker containers. This bestseller has been fully updated with new examples, best practices, and entirely new chapters. You’ll start with a clear explanation of the Docker model and learn how to package applications in containers, including techniques for testing and distributing applications. You’ll also learn how to run programs securely and how to manage shared resources. Using carefully designed examples, the book teaches you how to orchestrate containers and applications from installation to removal. Along the way, you'll discover techniques for using Docker on systems ranging from dev-and-test machines to full-scale cloud deployments.

What's inside

  • How to run software in containers
  • Features of the container lifecycle
  • Packaging your software for deployment
  • Distributing and deploying containerized applications

About the reader

Written for developers with experience working with Linux. No prior knowledge or experience of Docker is needed.

About the authors

Jeff Nickoloff runs Topple where he builds large scale services, writes about technology, and help people achieve their goals. Jeff’s experience includes work with numerous startups,, Limelight Networks, Arizona State University, and as a consultant for Fortune 100 companies. Stephen Kuenzli has designed, built, deployed, and operated highly-available, scalable software systems in high tech manufacturing, banking, and ecommerce systems for nearly 20 years.

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
Docker in Action, Second Edition (eBook) added to cart
continue shopping
go to cart

MEAP eBook $39.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks

Very thorough and detailed descriptions of what happens inside of Docker and containers in general.

Ethan Rivett

A great read filling in many gaps left while learning docker on my own.

Desmond Horsley