LEADER 07531nam 2200493 450 001 9910522986403321 005 20221202033658.0 010 $a1-4842-7815-1 024 7 $a10.1007/978-1-4842-7815-4 035 $a(MiAaPQ)EBC6817000 035 $a(Au-PeEL)EBL6817000 035 $a(CKB)19934884100041 035 $a(OCoLC)1287132682 035 $a(OCoLC-P)1287132682 035 $a(CaSebORM)9781484278154 035 $a(EXLCZ)9919934884100041 100 $a20220819d2022 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aPractical Docker with Python $ebuild, release, and distribute your Python app with Docker /$fSathyajith Bhat 205 $aSecond edition 210 1$aNew York, New York :$cApress,$d[2022] 215 $a1 online resource (239 pages) 300 $aIncludes index. 311 08$aPrint version: Bhat, Sathyajith Practical Docker with Python Berkeley, CA : Apress L. P.,c2021 9781484278147 327 $aIntro -- 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. 327 $aExample 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. 330 $aLearn 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. 606 $aApplication software$xDevelopment 606 $aPython (Computer program language) 615 0$aApplication software$xDevelopment. 615 0$aPython (Computer program language) 676 $a005.1 700 $aBhat$b Sathyajith$01065366 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910522986403321 996 $aPractical Docker with Python$92544851 997 $aUNINA