Vai al contenuto principale della pagina

Practical Docker with Python : build, release, and distribute your Python app with Docker / / Sathyajith Bhat



(Visualizza in formato marc)    (Visualizza in BIBFRAME)

Autore: Bhat Sathyajith Visualizza persona
Titolo: Practical Docker with Python : build, release, and distribute your Python app with Docker / / Sathyajith Bhat Visualizza cluster
Pubblicazione: New York, New York : , : Apress, , [2022]
Edizione: Second edition
Descrizione fisica: 1 online resource (239 pages)
Disciplina: 005.1
Soggetto topico: Application software - Development
Python (Computer program language)
Note generali: Includes index.
Nota di contenuto: 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.
Sommario/riassunto: 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 application for production deployment and breaks down terminologies like Dockerfile and Docker volumes while taking you on a guided tour of building a telegram bot using Python. You'll start with a brief history of how containerization has changed over the years. Next, we look at how to install (including using the new WSL2 mode) and get started with Docker. The next couple of chapters will focus on understanding the Dockerfile, including the structure and the core instructions used in building a Docker image. You'll also see how to distribute Docker images using Docker hub and other private registries. From there, you'll look at using Docker volumes for persisting data. Then learn how to run multi-container applications with Docker compose and learn inter-container networking works with Docker networks. Finally, you'll look at how to prepare a containerized application for production deployments. Throughout the book you'll apply the techniques learned through the chapters by building a Telegram messenger Chatbot and see how much easier Docker makes it possible to build, release, contribute and distribute an application. In addition, the book shows how optimize the Docker images for production servers by using multi-stage builds and improve the reliability of your services by using health checks and restart policies. Practical Docker with Python will break down terminologies like Dockerfile and Docker volumes, and take you on a guided tour of building a telegram bot using Python. What You'll Learn Compare the difference between containerization and virtualization Understand the Dockerfile and converting your application to Docker image Define and run multi-container applications with Docker compose Review data persistency with Docker volumes Who This Book Is For Beginner and intermediate developers, DevOps practitioners who are looking improving their build and release workflow by containerizing applications as well as system administrators learning to implement DevOps principles.
Titolo autorizzato: Practical Docker with Python  Visualizza cluster
ISBN: 1-4842-7815-1
Formato: Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione: Inglese
Record Nr.: 9910522986403321
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui