Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Foreword
Preface
Who Should Read This Book
Why Read This Book?
Navigating This Book
Conventions Used in This Book
Safari® Books Online
How to Contact Us
Acknowledgments
1. Introduction
The Birth of Docker
The Promise of Docker
Benefits of the Docker Workflow
What Docker Isn’t
2. Docker at a Glance
Process Simplification
Broad Support and Adoption
Architecture
Client/Server Model
Network Ports and Unix Sockets
Robust Tooling
Docker Command-Line Tool
Application Programming Interface (API)
Container Networking
Getting the Most from Docker
Containers Are Not Virtual Machines
Containers Are Lightweight
Towards an Immutable Infrastructure
Limited Isolation
Stateless Applications
Externalizing State
The Docker Workflow
Revision Control
Filesystem layers
Image tags
Building
Testing
Packaging
Deploying
The Docker Ecosystem
Orchestration
Atomic hosts
Additional tools
Wrap-Up
3. Installing Docker
Important Terminology
Docker Client
Linux
Ubuntu Linux 14.04 (64-bit)
Fedora Linux 21 (64-bit)
Mac OS X 10.10
GUI installer
Homebrew installation
Microsoft Windows 8
Docker Server
Systemd-Based Linux
Upstart-Based Linux
init.d-Based Linux
Non-Linux VM-Based Server
Docker Machine
Boot2Docker
Vagrant
Test the Setup
Ubuntu
Fedora
CentOS
Wrap-Up
4. Working with Docker Images
Anatomy of a Dockerfile
Building an Image
Running Your Image
Environment Variables
Custom Base Images
Storing Images
Public Registries
Private Registries
Authenticating to a Registry
Creating a Docker Hub account
Logging in to a registry
Pushing images into a repository
Mirroring a Registry
Configuring the Docker daemon
Boot2Docker ISO
Ubuntu
Fedora
CoreOS
Launching the local registry mirror service
Testing the local registry mirror service
Other Approaches to Image Delivery
5. Working with Docker Containers
What Are Containers?
History of Containers
Creating a Container
Basic Configuration
Container name
Labels
Hostname
Domain Name Service (DNS)
Media Access Control (MAC) address
Storage Volumes
Resource Quotas
CPU shares
CPU pinning
Memory
Block I/O
ulimits
Starting a Container
Auto-Restarting a Container
Stopping a Container
Killing a Container
Pausing and Unpausing a Container
Cleaning Up Containers and Images
Next Steps
6. Exploring Docker
Printing the Docker Version
Server Information
Downloading Image Updates
Inspecting a Container
Getting Inside a Running Container
docker exec
nsenter
Exploring the Shell
Returning a Result
Docker Logs
Monitoring Docker
Container Stats
Docker Events
cAdvisor
Exploration
7. The Path to Production Containers
Deploying
Classes of Tooling
Orchestration Tools
Distributed Schedulers
Deployment Wrap-Up
Testing Containers
Quick Overview
Outside Dependencies
8. Debugging Containers
Process Output
Process Inspection
Controlling Processes
Network Inspection
Image History
Inspecting a Container
Filesystem Inspection
Moving Along
9. Docker at Scale
Docker Swarm
Centurion
Amazon EC2 Container Service
IAM Role Setup
AWS CLI Setup
Installation
Mac OS X
Windows
Other
Configuration
Container Instances
Tasks
Testing the Task
Installing NetCat/Telnet
Mac OS X
Debian-based system
RedHat-based systems
Windows
Connecting to the container
netcat
telnet
Stopping the Task
Wrap-Up
10. Advanced Topics
Pluggable Backends
Execution Driver
native, lxc, windows, etc.
Storage
AUFS, Device Mapper, BTRFS, vfs, etc.
Containers in Detail
Control Groups (cgroups)
The /sys filesystem
Kernel Namespaces, User Namespaces
Exploring Namespaces
Security
How Secure Is Your Container?
UID 0
Privileged containers
SElinux, AppArmor
How Secure Is the Docker Daemon?
Networking
11. Designing Your Production Container Platform
The Twelve-Factor App
Codebase
Dependencies
Config
Backing Services
Build, Release, Run
Processes
Port Binding
Concurrency
Disposability
Development/Production Parity
Logs
Admin Processes
Twelve-Factor Wrap-Up
The Reactive Manifesto
Responsive
Resilient
Elastic
Message Driven
In Summary
12. Conclusion
The Challenges
The Docker Workflow
Minimizing Deployment Artifacts
Optimizing Storage and Retrieval
The Payoff
The Final Word
Index
← Prev
Back
Next →
← Prev
Back
Next →