Muutke küpsiste eelistusi

Docker: Up & Running: Shipping Reliable Containers in Production 2nd edition [Pehme köide]

  • Formaat: Paperback / softback, 347 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 30-Sep-2018
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492036730
  • ISBN-13: 9781492036739
  • Pehme köide
  • Hind: 63,99 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 347 pages, kõrgus x laius: 233x178 mm
  • Ilmumisaeg: 30-Sep-2018
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1492036730
  • ISBN-13: 9781492036739

Docker is rapidly changing the way organizations deploy software at scale. However, understanding how Linux containers fit into your workflow—and getting the integration details right—are not trivial tasks. With the updated edition of this practical guide, you’ll learn how to use Docker to package your applications with all of their dependencies, and then test, ship, scale, and support your containers in production.

Significant changes to the examples and explanations in this second edition reflect massive changes that have occurred in this technology over the past couple of years. Site Reliability Engineers Sean P. Kane from New Relic and Karl Matthias from InVision share much of what they have learned from running Docker in production at scale.

In addition, this new release includes a full chapter on Docker Compose, deeper coverage of Docker Swarm Mode, an introduction to Kubernetes and AWS Fargate, advanced topics around building Docker images, directions for setting up a private Docker Registry, and much more.

  • Learn how Docker simplifies dependency management and deployment workflow for your applications
  • Start working with Docker images, containers, and command line tools
  • Use practical techniques to deploy and test Docker containers in production
  • Debug containers by understanding their composition and internal processes
  • Deploy production containers at scale inside your data center or cloud environment
  • Explore advanced Docker topics, including deployment tools, networking, orchestration, security, and configuration
Foreword xi
Preface xv
1 Introduction 1(8)
The Promise of Docker
1(4)
Benefits of the Docker Workflow
3(2)
What Docker Isn't
5(2)
Important Terminology
7(1)
Wrap-Up
7(2)
2 The Docker Landscape 9(22)
Process Simplification
9(3)
Broad Support and Adoption
12(2)
Architecture
14(4)
Client/Server Model
14(1)
Network Ports and Unix Sockets
15(1)
Robust Tooling
15(1)
Docker Command-Line Tool
16(1)
Docker Engine API
16(1)
Container Networking
17(1)
Getting the Most from Docker
18(5)
Containers Are Not Virtual Machines
19(1)
Limited Isolation
20(1)
Containers Are Lightweight
21(1)
Toward an Immutable Infrastructure
21(1)
Stateless Applications
22(1)
Externalizing State
22(1)
The Docker Workflow
23(7)
Revision Control
24(1)
Building
25(1)
Testing
26(1)
Packaging
27(1)
Deploying
27(1)
The Docker Ecosystem
27(3)
Wrap-Up
30(1)
3 Installing Docker 31(18)
Docker Client
32(3)
Linux
32(2)
macOS, Mac OS X
34(1)
Microsoft Windows 10 Professional
35(1)
Docker Server
35(10)
systemd-Based Linux
36(1)
Non-Linux VM-Based Server
36(9)
Testing the Setup
45(1)
Ubuntu
45(1)
Fedora
45(1)
Alpine Linux
45(1)
Exploring the Docker Server
46(2)
Wrap-Up
48(1)
4 Working with Docker Images 49(36)
Anatomy of a Dockerfile
50(3)
Building an Image
53(3)
Troubleshooting Broken Builds
56(2)
Running Your Image
58(2)
Environment Variables
59(1)
Custom Base Images
60(1)
Storing Images
61(9)
Public Registries
61(1)
Private Registries
62(1)
Authenticating to a Registry
62(4)
Running a Private Registry
66(4)
Advanced Building Techniques
70(14)
Keeping Images Small
70(7)
Layers Are Additive
77(2)
Optimizing for the Cache
79(5)
Wrap-Up
84(1)
5 Working with Docker Containers 85(30)
What Are Containers?
85(2)
History of Containers
86(1)
Creating a Container
87(16)
Basic Configuration
88(4)
Storage Volumes
92(3)
Resource Quotas
95(8)
Starting a Container
103(1)
Auto-Restarting a Container
104(1)
Stopping a Container
105(2)
Killing a Container
107(1)
Pausing and Unpausing a Container
107(1)
Cleaning Up Containers and Images
108(2)
Windows Containers
110(3)
Wrap-Up
113(2)
6 Exploring Docker 115(36)
Printing the Docker Version
115(2)
Server Information
117(1)
Downloading Image Updates
118(1)
Inspecting a Container
119(2)
Exploring the Shell
121(1)
Returning a Result
121(2)
Getting Inside a Running Container
123(5)
docker exec
123(1)
nsenter
124(3)
docker volume
127(1)
Logging
128(6)
docker logs
129(2)
More Advanced Logging
131(2)
Non-Plug-In Community Options
133(1)
Monitoring Docker
134(12)
Container Stats
134(4)
Container Health Checks
138(3)
Docker Events
141(1)
cAdvisor
142(4)
Prometheus Monitoring
146(3)
Exploration
149(1)
Wrap-Up
150(1)
7 Debugging Containers 151(16)
Process Output
152(4)
Process Inspection
156(1)
Controlling Processes
157(3)
Network Inspection
160(3)
Image History
163(1)
Inspecting a Container
163(2)
Filesystem Inspection
165(1)
Wrap-Up
166(1)
8 Exploring Docker Compose 167(22)
Configuring Docker Compose
168(7)
Launching Services
175(2)
Exploring RocketChat
177(8)
Exercising Docker Compose
185(3)
Wrap-Up
188(1)
9 The Path to Production Containers 189(16)
Getting to Production
189(1)
Docker's Role in Production Environments
190(10)
Job Control
192(1)
Resource Limits
193(1)
Networking
193(1)
Configuration
193(1)
Packaging and Delivery
194(1)
Logging
194(1)
Monitoring
194(1)
Scheduling
195(2)
Service Discovery
197(2)
Production Wrap-Up
199(1)
Docker and the DevOps Pipeline
200(4)
Quick Overview
200(3)
Outside Dependencies
203(1)
Wrap-Up
204(1)
10 Docker at Scale 205(50)
Centurion
206(5)
Docker Swarm Mode
211(10)
Amazon ECS and Fargate
221(13)
Core AWS Setup
222(1)
IAM Role Setup
222(1)
AWS CLI Setup
223(2)
Container Instances
225(1)
Tasks
225(8)
Testing the Task
233(1)
Stopping the Task
233(1)
Kubernetes
234(20)
What Is Minikube?
235(1)
Installing Minikube
235(3)
Running Kubernetes
238(2)
Kubernetes Dashboard
240(1)
Kubernetes Containers and Pods
241(2)
Let's Deploy Something
243(2)
Deploying a Realistic Stack
245(1)
Service Definition
246(1)
PersistentVolumeClaim Definition
247(1)
Deployment Definition
248(1)
Deploying the Application
249(2)
Scaling Up
251(2)
kubectl API
253(1)
Wrap-Up
254(1)
11 Advanced Topics 255(44)
Containers in Detail
255(9)
cgroups
256(4)
Namespaces
260(4)
Security
264(14)
UID 0
265(3)
Privileged Containers
268(3)
Secure Computing Mode
271(4)
SElinux and AppArmor
275(1)
The Docker Daemon
276(2)
Advanced Configuration
278(7)
Networking
278(7)
Storage
285(4)
The Structure of Docker
289(4)
Swapping Runtimes
293(5)
gVisor
296(2)
Wrap-Up
298(1)
12 Container Platform Design 299(12)
The Twelve-Factor App
300(8)
Codebase
300(1)
Dependencies
300(2)
Config
302(2)
Backing Services
304(1)
Build, Release, Run
304(1)
Processes
305(1)
Port Binding
305(1)
Concurrency
306(1)
Disposability
306(1)
Development/Production Parity
307(1)
Logs
307(1)
Admin Processes
308(1)
Twelve-Factor Wrap-Up
308(1)
The Reactive Manifesto
308(1)
Responsive
309(1)
Resilient
309(1)
Elastic
309(1)
Message-Driven
309(1)
Wrap-Up
309(2)
13 Conclusion 311(6)
The Challenges Docker Addresses
311(1)
The Docker Workflow
312(1)
Minimizing Deployment Artifacts
313(1)
Optimizing Storage and Retrieval
313(1)
The Payoff
314(1)
The Final Word
314(3)
Index 317
Sean Kane is currently a Lead Site Reliability Engineer at New Relic. He has had a long career in production operations with many diverse roles across a broad range of industries. In addition to spending his spare time writing, teaching, and speaking about modern production operations, Sean is an avid traveller, hiker, and camper. He lives in the U.S. Pacific Northwest with his wife, children, and dog(s).

Karl Matthias is a Principal Systems Engineer with Nitro Software. He has worked as a developer, systems administrator, and network engineer for everything from startups to Fortune 500 companies. After a few years at startups in Germany and the UK followed by a stint at home in Portland, Oregon, he and his family recently landed in Dublin, Ireland. When not devoting his time to things digital, he can be found herding his two daughters, shooting film with vintage cameras, or riding one of his bicycles.