Limit search to available items
Book Cover
Author Bhat, Sathyajith, author

Title Practical Docker with Python : build, release and distribute your Python app with Docker / Sathyajith Bhat
Published [United States] : Apress, 2018


Description 1 online resource
Contents Intro; Table of Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Chapter 1: Introduction to Containerization; What Is Docker?; Docker the Company; Docker the Software Technology; Understanding Problems that Docker Solves; Containerization Through the Years; 1979: chroot; 2000: FreeBSD Jails; 2005: OpenVZ; 2006: cgroups; 2008: LXC; Knowing the Difference Between Containers and Virtual Machines; Summary; Chapter 2: Docker 101; Installing Docker; Installing Docker on Windows; Installing on MacOS; Installing on Linux; Additional Steps
Understanding Jargon Around DockerLayers; Docker Image; Docker Container; Bind Mounts and Volumes; 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 Images; 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; Installing Dependencies of Newsbot; Running Newsbot; Sending Messages to Newsbot; Summary
Chapter 4: Understanding the DockerfileDockerfile; Build Context; Dockerignore; Building Using Docker Build; Dockerfile Instructions; FROM; WORKDIR; ADD and COPY; RUN; CMD and ENTRYPOINT; Gotchas About Shell and Exec Form; ENV; VOLUME; EXPOSE; LABEL; Guidelines and Recommendations for Writing Dockerfiles; Multi-Stage Builds; Dockerfile Exercises; Summary; Chapter 5: Understanding Docker Volumes; Data Persistence; Example of Data Loss Within Docker Container; tmpfs Mounts; Bind Mounts; Volumes; Docker Volume Subcommands; Create Volume; Inspect; List Volumes; Prune Volumes; Remove Volumes
Using Volumes When Starting a ContainerVOLUME Instruction in Dockerfile; Docker Volume Exercises; Summary; Chapter 6: Understanding Docker Networks; Why Do We Need Container Networking?; Default Docker Network Drivers; Bridge Network; Host Network; Overlay Network; Macvlan Networks; None Networking; Working with Docker Networks; Bridge Networks; Creating Named Bridge Networks; Connecting Containers to Named Bridge Networks; Host Networks; Docker Networking Exercises; Summary; Chapter 7: Understanding Docker Compose; Overview of Docker Compose; Installing Docker Compose; Docker Compose Basics
Compose File VersioningVersion 1; Version 2; Version 3; Docker Compose File Reference; Services; build; context; image; environment/env_file; depends_on; image; ports; volumes; Restart; Docker Compose CLI Reference; build; down; exec; logs; stop; Docker Volume Exercises; Summary; Index
Summary Learn the key differences between containers and virtual machines. Adopting a project based approach, this book introduces you to a simple Python application to be developed and containerized with Docker. After an introduction to Containers and Docker you'll be guided through Docker installation and configuration. You'll also learn basic functions and commands used in Docker by running a simple container using Docker commands. The book then moves on to developing a Python based Messaging Bot using required libraries and virtual environment where you'll add Docker Volumes to your project, ensuring your container data is safe. You'll create a database container and link your project to it and finally, bring up the Bot-associated database all at once with Docker Compose
Bibliography Includes bibliographical references and index
Notes Online resource; title from PDF title page (SpringerLink, viewed August 6, 2018)
Subject Application software -- Development.
Python (Computer program language)
Web programming.
Software Engineering.
Programming & scripting languages: general.
COMPUTERS -- Software Development & Engineering -- General.
COMPUTERS -- Programming Languages -- Python.
Application software -- Development.
Cloud computing.
Python (Computer program language)
Genre/Form Electronic books
Form Electronic book
ISBN 9781484237847