3 options
Learn Docker : fundamentals of Docker 18.x : everything you need to know about containerizing your applications and running them in production / Gabriel N. Schenker.
- Format:
- Book
- Author/Creator:
- Schenker, Gabriel Nicolas, author.
- Language:
- English
- Subjects (All):
- Application software--Development.
- Application software.
- Computer software--Development.
- Computer software.
- Computer architecture.
- Open source software.
- Physical Description:
- 1 online resource (398 pages)
- Edition:
- 1st edition
- Other Title:
- Fundamentals of Docker 18.x
- Place of Publication:
- Birmingham ; Mumbai : Packt Publishing, 2018.
- System Details:
- text file
- Summary:
- Enhance your software deployment workflow using containers About This Book Get up-and-running with basic to advanced concepts of Docker Get acquainted with concepts such as Docker containers, Docker images, orchestrators and so on. Practical test-based approach to learning a prominent containerization tool Who This Book Is For This book is targeted at system administrators, operations engineers, DevOps engineers, and developers or stakeholders who are interested in getting started with Docker from scratch. No prior experience with Docker Containers is required. What You Will Learn Containerize your traditional or microservice-based application Share or ship your application as an immutable container image Build a Docker swarm and a Kubernetes cluster in the cloud Run a highly distributed application using Docker Swarm or Kubernetes Update or rollback a distributed application with zero downtime Secure your applications via encapsulation, networks, and secrets Know your options when deploying your containerized app into the cloud In Detail Docker containers have revolutionized the software supply chain in small and big enterprises. Never before has a new technology so rapidly penetrated the top 500 enterprises worldwide. Companies that embrace containers and containerize their traditional mission-critical applications have reported savings of at least 50% in total maintenance cost and a reduction of 90% (or more) of the time required to deploy new versions of those applications. Furthermore they are benefitting from increased security just by using containers as opposed to running applications outside containers. This book starts from scratch, introducing you to Docker fundamentals and setting up an environment to work with it. Then we delve into concepts such as Docker containers, Docker images, Docker Compose, and so on. We will also cover the concepts of deployment, orchestration, networking, and security. Furthermore, we explain Docker functionalities on public clouds such as AWS. By the end of this book, you will have hands-on experience working with Docker containers and orchestrators such as SwarmKit and Kubernetes. Style and approach The simple end-to-end guide will help you learn everything about how to containerize, ship, and run both a traditional application and a modern microservice-based application on-premise or in the cloud. Downloading the example code for this book You can download the example code files for all Packt books yo...
- Contents:
- Cover
- Title Page
- Copyright and Credits
- Packt Upsell
- Contributors
- Table of Contents
- Preface
- Chapter 1: What Are Containers and Why Should I Use Them?
- Technical requirements
- What are containers?
- Why are containers important?
- What's the benefit for me or for my company?
- The Moby project
- Docker products
- Docker CE
- Docker EE
- The container ecosystem
- Container architecture
- Summary
- Questions
- Further reading
- Chapter 2: Setting up a Working Environment
- The Linux command shell
- PowerShell for Windows
- Using a package manager
- Installing Homebrew on a Mac
- Installing Chocolatey on Windows
- Choosing a code editor
- Docker Toolbox
- Docker for Mac and Docker for Windows
- Installing Docker for Mac
- Installing Docker for Windows
- Using docker-machine on Windows with Hyper-V
- Minikube
- Installing Minikube on Mac and Windows
- Testing Minikube and kubectl
- Chapter 3: Working with Containers
- Running the first container
- Starting, stopping, and removing containers
- Running a random quotes container
- Listing containers
- Stopping and starting containers
- Removing containers
- Inspecting containers
- Exec into a running container
- Attaching to a running container
- Retrieving container logs
- Logging drivers
- Using a container-specific logging driver
- Advanced topic - changing the default logging driver
- Anatomy of containers
- Architecture
- Namespaces
- Control groups (cgroups)
- Union filesystem (UnionFS)
- Container plumbing
- Runc
- Containerd
- Chapter 4: Creating and Managing Container Images
- What are images?
- The layered filesystem
- The writable container layer
- Copy-on-write
- Graph drivers.
- Creating images
- Interactive image creation
- Using Dockerfiles
- The FROM keyword
- The RUN keyword
- The COPY and ADD keywords
- The WORKDIR keyword
- The CMD and ENTRYPOINT keywords
- A complex Dockerfile
- Building an image
- Multistep builds
- Dockerfile best practices
- Saving and loading images
- Sharing or shipping images
- Tagging an image
- Image namespaces
- Official images
- Pushing images to a registry
- Chapter 5: Data Volumes and System Management
- Creating and mounting data volumes
- Modifying the container layer
- Creating volumes
- Mounting a volume
- Removing volumes
- Sharing data between containers
- Using host volumes
- Defining volumes in images
- Obtaining Docker system information
- Listing resource consumption
- Pruning unused resources
- Pruning containers
- Pruning images
- Pruning volumes
- Pruning networks
- Pruning everything
- Consuming Docker system events
- Chapter 6: Distributed Application Architecture
- What is a distributed application architecture?
- Defining the terminology
- Patterns and best practices
- Loosely coupled components
- Stateful versus stateless
- Service discovery
- Routing
- Load balancing
- Defensive programming
- Retries
- Logging
- Error handling
- Redundancy
- Health checks
- Circuit breaker pattern
- Running in production
- Tracing
- Monitoring
- Application updates
- Rolling updates
- Blue-green deployments
- Canary releases
- Irreversible data changes
- Rollback
- Chapter 7: Single-Host Networking
- The container network model
- Network firewalling
- The bridge network
- The host network
- The null network.
- Running in an existing network namespace
- Port management
- Chapter 8: Docker Compose
- Demystifying declarative versus imperative
- Running a multi-service app
- Scaling a service
- Building and pushing an application
- Chapter 9: Orchestrators
- What are orchestrators and why do we need them?
- The tasks of an orchestrator
- Reconciling the desired state
- Replicated and global services
- Scaling
- Self-healing
- Zero downtime deployments
- Affinity and location awareness
- Security
- Secure communication and cryptographic node identity
- Secure networks and network policies
- Role-based access control (RBAC)
- Secrets
- Content trust
- Reverse uptime
- Introspection
- Overview of popular orchestrators
- Kubernetes
- Docker Swarm
- Apache Mesos and Marathon
- Amazon ECS
- Microsoft ACS
- Chapter 10: Introduction to Docker Swarm
- Swarm nodes
- Swarm managers
- Swarm workers
- Stacks, services, and tasks
- Services
- Task
- Stack
- Multi-host networking
- Creating a Docker Swarm
- Creating a local single node swarm
- Creating a local swarm in VirtualBox or Hyper-V
- Using Play with Docker (PWD) to generate a Swarm
- Creating a Docker Swarm in the cloud
- Deploying a first application
- Creating a service
- Inspecting the service and its tasks
- Logs of a service
- Deleting a service or a stack
- Deploying a multi-service stack
- The swarm routing mesh
- Chapter 11: Zero Downtime Deployments and Secrets
- Zero downtime deployment
- Popular deployment strategies
- Rolling updates.
- Health checks
- Creating secrets
- Using a secret
- Simulating secrets in a development environment
- Secrets and legacy applications
- Updating secrets
- Chapter 12: Introduction to Kubernetes
- Kubernetes master nodes
- Cluster nodes
- Introduction to Minikube
- Kubernetes support in Docker for Desktop
- Pods
- Comparing Docker container and Kubernetes pod networking
- Sharing the network namespace
- Pod life cycle
- Pod specification
- Pods and volumes
- Kubernetes ReplicaSet
- ReplicaSet specification
- Kubernetes deployment
- Kubernetes service
- Context-based routing
- Comparing SwarmKit with Kubernetes
- Chapter 13: Deploying, Updating, and Securing an Application with Kubernetes
- Deploying the web component
- Deploying the database
- Streamlining the deployment
- Blue-green deployment
- Kubernetes secrets
- Manually defining secrets
- Creating secrets with kubectl
- Using secrets in a pod
- Secret values in environment variables
- Chapter 14: Running a Containerized App in the Cloud
- Deploying our application into AWS ECS
- Introduction to ECS
- Creating a Fargate ECS cluster of AWS
- Authoring a task definition
- Running a task in ECS
- Modifying the task definition
- Adding the database component to the application
- Deploying and using Docker EE on AWS
- Provisioning the infrastructure
- Installing Docker
- Installing Docker UCP
- Remote admin the UCP cluster
- Deploying to Docker Swarm.
- Deploying to Kubernetes
- A short peek into Azure's container offerings
- A short peek into Google's container offerings
- Assessment
- Other Books You May Enjoy
- Index.
- Notes:
- Includes bibliographical references.
- Description based on print version record.
- OCLC:
- 1034623394
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.