Share E-Book
Scan to open this page

Scan with your phone to open this page

AuthorSean P. Kane, Karl Matthias

Docker and Linux containers have fundamentally changed the way that organizations develop, deliver, and run software at scale. But understanding why these tools are important and how they can be successfully integrated into your organization's ecosystem can be challenging. This fully updated guide provides developers, operators, architects, and technical managers with a thorough understanding of the Docker tool set and how containers can improve almost every aspect of modern software delivery and management.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
# Docker Up & Running, 3rd Edition ## 【One-Line Pitch】 A comprehensive, practical guide to Docker and Linux containers for developers, operators, and architects who want to understand not just *how* to use Docker, but *why* it works the way it does—and how to integrate it into real-world production workflows. If you're moving beyond tutorials and need battle-tested best practices from engineers who've run containers in production for nearly a decade, this is your book. ## 【Book Arc】 - **Opening (~0%–10%)**: Establishes why containers matter—the organizational pain of shipping software at modern speed—and frames Docker as a solution that reduces friction between development and operations. Sets expectations that this is a practical guide built on real production experience, not just documentation. - **Early (~10%–23%)**: Covers core architecture and fundamentals: how Docker's networking model works (bridge mode, virtual Ethernet interfaces, port binding), the role of the Docker API and client libraries, and the foundational concept of images as layered filesystems built on storage backends like Overlay2, Btrfs, and Device Mapper. - **Early–Middle (~23%–39%)**: Dives into hands-on image building: writing Dockerfiles, using build arguments, optimizing layer sizes (a 273MB layer shrunk to 44.8MB by cleaning up), and understanding how the build cache works—including why dependency re-downloads happen when layers change. - **Middle (~39%–48%)**: Provides historical context (FreeBSD jails, Solaris Zones, LXC) to explain *why* containers work the way they do, then moves into operational concerns: managing container lifecycle (pause, unpause, stop, remove), working with volumes for persistent data, and using read-only root filesystems with tmpfs mounts for security and predictability. - **Late (~48%–end)**: Focuses on production readiness: cleaning up containers and images, understanding versioning and rollback strategies through image tagging, and preparing readers for the operational tooling covered in later chapters (Kubernetes, orchestration, and advanced storage backends). ## 【Key Takeaways】 - **Containers solve organizational communication problems, not just technical ones** (Opening): As companies grow from one developer to many teams, shipping software becomes a coordination nightmare; Docker standardizes the packaging and deployment story across heterogeneous environments, reducing friction between dev and ops. - **Bridge networking is the default mental model** (Early): Docker containers behave like hosts on a private virtual network behind a virtual bridge (docker0), with each container getting its own virtual Ethernet interface and IP address; port binding on the host exposes containers to the outside world. - **Images are layered filesystems, not monolithic blobs** (Early): Every image consists of linked filesystem layers that map to build steps, requiring special kernel storage backends (Overlay2, Btrfs, Device Mapper) that provide copy-on-write functionality for efficient image management. - **Layer hygiene dramatically affects image size** (Early–Middle): Combining commands with `&&` operators and cleaning up after package installation can shrink layers dramatically—one example shows a 273MB layer reduced to 44.8MB, which matters for storage costs and deployment speed. - **Build cache behavior is subtle and important** (Early–Middle): When a layer changes, Docker rebuilds that layer and everything after it, losing cached dependencies—even if they're still valid—which is why dependency installation should be separated from application code changes in Dockerfiles. - **Read-only root filesystems are a powerful security pattern** (Middle): Mounting the container's root as read-only (with `--read-only=true`) prevents unexpected writes like logfiles from filling disk, while volumes and tmpfs mounts allow controlled writes to specific locations. - **Image tagging provides universal rollback capability** (Early): Unlike heterogeneous deployment tools that handle revisions differently per application, Docker's tagging system gives every application the same rollback mechanism, making "what was the previous version?" answerable consistently. ## 【Reading Tips】 - **Skim the historical section (~39%)** if you're already comfortable with container concepts; it's interesting context but not essential for hands-on work. Focus instead on the practical chapters about images and container lifecycle. - **Deep-read the Dockerfile optimization sections (~29%–39%)**: The layer-size reduction example and build cache discussion are where the book earns its keep—these insights come from real production pain and will save you significant time and storage. - **Pay special attention to the read-only filesystem and volume patterns (~42%–48%)**: These are production-hardening techniques that most tutorials skip but that matter enormously for security and reliability in real deployments. - **Use the command examples as a reference, not a script**: The book's value is in the *why* behind each command, not just the command itself; understanding the networking model and storage backends will help you debug issues that copy-pasting commands won't solve. - **If you're a beginner, read the opening chapters carefully**; if you're experienced, jump to the middle sections where the production-focused content lives. ## 【Coverage Limits】 This guide covers the book's first half (through ~48%), focusing on fundamentals, image building, and container lifecycle management. The excerpts do not cover later chapters on orchestration (Kubernetes), advanced storage backends, or multi-host networking in detail. ##
Page 11
g all the various integrations right are not trivial tasks. We have worked with multiple companies for over nine years building and operating a mix of produc...
View in text
Excerpt 2
about how things will be tagged for all applications. This makes communication easier between teams, and it makes tooling much simpler because there is one s...
View in text
Excerpt 3
pacted the size of the layer that includes the http daemon: $ docker image build . [+] Building 0.5s (7/7) FINISHED … => => writing image sha256:14fe792...
View in text
Excerpt 4
re also ephemeral and will utilize additional system memory. Any data in WARNING Docker has features that allow you to tune and disable the Linux OOM killer ...
View in text
Excerpt 5
t determines the state of the service. docker system events The dockerd daemon internally generates an events stream around the container lifecycle. This is ...
View in text
Excerpt 6
General channel to explicitly invite Hubot: /invite @hubot You may get a message from the internal admin rocket.cat that says “@hubot is already in here.” Th...
View in text
Excerpt 7
ce.yaml. The full manifest contains multiple YAML documents separated by ---. We will discuss each section individually here. Service definition apiVersion: ...
View in text
Excerpt 8
iner run --rm -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh to get access to the Docker host, even if you can’t SSH into the server. $ ls /s...
View in text
Tags
AI categories
Cloud NativeDevOpsBackend
docker
ISBN: 1098131819
Publish Year: 2023
Language: English
Pages: 422
File Format: PDF
File Size: 5.1 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…