Practical Docker with Python build, release, and distribute your Python app with Docker
Learn the fundamentals of containerization and get acquainted with Docker. This second edition builds upon the foundation of the first book by revising all the chapters, updating the commands, code, and examples to meet the changes in Docker. It also introduces a new chapter on setting up your appli...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
New York, New York :
Apress
[2022]
|
Edición: | Second edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009638339506719 |
Tabla de Contenidos:
- Intro
- Table of Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Introduction
- Chapter 1: Introduction to Containerization
- What Is Docker?
- Understanding Problems that Docker Solves
- Containerization Through the Years
- 1979: chroot
- 2000: FreeBSD Jails
- 2005: OpenVZ
- 2006: cgroups
- 2008: LXC
- Containers and Virtual Machines
- Container Runtimes
- OCI and CRI
- Docker and Kubernetes
- Summary
- Chapter 2: Docker 101
- Installing Docker
- Installing Docker on Windows
- Installing Docker on Windows Using WSL2 Backend
- About WSL
- Requirements for Installing and Enabling WSL2
- Installing on macOS
- Installing on Linux
- Additional Steps
- Understanding Jargon Around Docker
- Layers
- Docker Image
- Docker Tags
- Docker Container
- Bind Mounts and Volumes
- Docker Repository
- Docker Registry
- Dockerfile
- Docker Engine
- Docker Daemon
- Docker CLI
- Docker API
- Docker Compose
- Docker Machine
- Hands-on Docker
- Working with Docker Images
- Working with a Real-World Docker Image
- Summary
- Chapter 3: Building the Python App
- About the Project
- Setting Up Telegram Messenger
- BotFather: Telegram's Bot Creation Interface
- Creating the Bot with BotFather
- Newsbot: The Python App
- Getting Started with Newsbot
- Running Newsbot
- Sending Messages to Newsbot
- Summary
- Chapter 4: Understanding the Dockerfile
- Dockerfile Primer
- Build Context
- Dockerignore
- BuildKit
- Building Using Docker Build
- Tags
- Dockerfile Instructions
- FROM
- WORKDIR
- ADD and COPY
- RUN
- Layer Caching
- CMD and ENTRYPOINT
- ENV
- VOLUME
- EXPOSE
- LABEL
- Guidelines and Recommendations for Writing Dockerfiles
- Using Multi-Stage Builds
- Exercises
- Summary
- Chapter 5: Understanding Docker Volumes
- Data Persistence.
- Example of Data Loss Within a Docker Container
- tmpfs Mounts
- Bind Mounts
- Docker Volumes
- Docker Volume Subcommands
- Volume Create
- Volume Inspect
- List Volumes
- Prune Volumes
- Remove Volumes
- Using Volumes When Starting a Container
- The VOLUME Instruction in Dockerfiles
- Exercises
- Summary
- Chapter 6: Understanding Docker Networks
- Why Do We Need Container Networking?
- Default Docker Network Drivers
- Bridge Networks
- Host Networks
- Overlay Networks
- Macvlan Networks
- None Networking
- Working with Docker Networks
- Bridge Networks
- Creating Named Bridge Networks
- Connecting Containers to Named Bridge Networks
- Host Networks
- Exercises
- Summary
- Chapter 7: Understanding Docker Compose
- Overview of Docker Compose
- Installing Docker Compose
- Docker Compose Basics
- Docker Compose Version Overview
- Compose File Versioning and the Compose Spec
- Version 1
- Version 2
- Version 3
- Compose Specification
- Docker Compose File Reference
- Services Key
- Build Key
- Context Key
- Image Key
- environment/env_file Key
- depends_on Key
- Image Key
- ports Key
- Volumes Key
- Restart Key
- Docker Compose CLI Reference
- The build Subcommand
- The down Subcommand
- The exec Subcommand
- The logs Subcommand
- The stop subcommand
- Exercises
- Summary
- Chapter 8: Preparing for Production Deployments
- Continuous Integration (CI)
- GitHub Actions
- Container Orchestration
- The Need for Orchestrators
- How Do Orchestrators Work?
- Popular Orchestrators
- Kubernetes
- Kubernetes Control Plane
- Kubernetes Worker Plane
- A Look at kind
- Creating Kubernetes Clusters Using kind
- Running a Sample Service in Kubernetes
- Pods and Deployments
- Exercises
- Summary
- Index.