Updated to cover Docker version 1.10 Docker is quickly changing the way that organizations are deploying software at scale. But understanding how Linux containers fit into your workflow—and getting the integration details right—are not trivial tasks. With this practical guide, you’ll learn how to use Docker to package your applications with all of their dependencies, and then test, ship, scale, and support your containers in production. Two Lead Site Reliability Engineers at New Relic share much of what they have learned from using Docker in production since shortly after its initial release. Their goal is to help you reap the benefits of this technology while avoiding the many setbacks they experienced. Learn how Docker simplifies dependency management and deployment workflow for your applications Start working with Docker images, containers, and command line tools Use practical techniques to deploy and test Docker-based Linux containers in production Debug containers by understanding their composition and internal processes Deploy production containers at scale inside your data center or cloud environment Explore advanced Docker topics, including deployment tools, networking, orchestration, security, and configuration
Author: Karl Matthias
Publisher: O'Reilly Media
Release Date: 2015-06-25
Quickly learn how to use Docker and containers in general to create packaged images for easy management, testing, and deployment of software. This practical guide lets you hit the ground running by demonstrating how Docker allows developers to package their application with all of its dependencies and to test and then ship the exact same bundle to production. You’ll also learn how Docker enables operations engineers to help the development team quickly iterate on their software. Learn Docker’s philosophy, design, and intent Use your own custom software to build Docker images Launch Docker images as running containers Explore advanced Docker concepts and topics Get valuable references to related tools in the Docker ecosystem
Author: James Turnbull
Publisher: James Turnbull
Release Date: 2014-07-14
Updated for Docker Community Edition v17.07.0! Docker book designed for SysAdmins, Operations staff, Developers and DevOps who are interested in deploying the open source container service Docker. In this book, we'll walk you through installing, deploying, managing, and extending Docker. We're going to do that by first introducing you to the basics of Docker and its components. Then we'll start to use Docker to build containers and services to perform a variety of tasks. We're going to take you through the development life cycle, from testing to production, and see where Docker fits in and how it can make your life easier. We'll make use of Docker to build test environments for new projects, demonstrate how to integrate Docker with continuous integration workflow, and then how to build application services and platforms. Finally, we'll show you how to use Docker's API and how to extend Docker yourself. We'll teach you how to: * Install Docker. * Take your first steps with a Docker container. * Build Docker images. * Manage and share Docker images. * Run and manage more complex Docker containers. * Deploy Docker containers as part of your testing pipeline. * Build multi-container applications and environments. * Learn about orchestration using Compose and Swarm for the orchestration of Docker containers and Consul for service discovery. * Explore the Docker API. * Getting Help and Extending Docker.
Discover why Vagrant is a must-have tool for thousands of developers and ops engineers. This hands-on guide shows you how to use this open source software to build a virtual machine for any purpose—including a completely sandboxed, fully provisioned development environment right on your desktop. Vagrant creator Mitchell Hashimoto shows you how to share a virtual machine image with members of your team, set up a separate virtualization for each project, and package virtual machines for use by others. This book covers the V1 (1.0.x) configuration syntax running on top of a V2 (1.1+) core, the most stable configuration format running on the latest core. Build a simple virtual machine with just two commands and no configuration Create a development environment that closely resembles production Automate software installation and management with shell scripts, Chef, or Puppet Set up a network interface to access your virtual machine from any computer Use your own editor and browser to develop and test your applications Test complicated multi-machine clusters with a single Vagrantfile Change Vagrant’s default operating system to match your production OS Extend Vagrant features with plugins, including components you build yourself
Legend has it that Google deploys over two billion application containers a week. How’s that possible? Google revealed the secret through a project called Kubernetes, an open source cluster orchestrator (based on its internal Borg system) that radically simplifies the task of building, deploying, and maintaining scalable distributed systems in the cloud. This practical guide shows you how Kubernetes and container technology can help you achieve new levels of velocity, agility, reliability, and efficiency. Authors Kelsey Hightower, Brendan Burns, and Joe Beda—who’ve worked on Kubernetes at Google and other organizatons—explain how this system fits into the lifecycle of a distributed application. You will learn how to use tools and APIs to automate scalable distributed systems, whether it is for online services, machine-learning applications, or a cluster of Raspberry Pi computers. Explore the distributed system challenges that Kubernetes addresses Dive into containerized application development, using containers such as Docker Create and run containers on Kubernetes, using the docker image format and container runtime Explore specialized objects essential for running applications in production Reliably roll out new software versions without downtime or errors Get examples of how to develop and deploy real-world applications in Kubernetes
Docker Cookbook is for developers, system administrators, and DevOps engineers who want to use Docker in his/her development, QA, or production environments. It is expected that the reader has basic Linux/Unix skills such as installing packages, editing files, managing services, and so on. Any experience in virtualization technologies such as KVM, XEN, and VMware will help the reader to relate with container technologies better, but it is not required.
Whether you’re deploying applications on premise or in the cloud, this cookbook provides developers, operators, and IT professionals with more than 130 proven recipes for working with Docker. With these practical solutions, experienced developers with no previous knowledge of Docker will be able to package and deploy distributed applications within a couple of chapters. IT professionals will be able to solve everyday problems, as well as create, run, share, and deploy Docker images. Operators will quickly be able to adopt the tools that will change the way they work. The recipes in this book will help you: Manage containers, mount data volumes, and link containers Create and share container images Network containers across single or multiple hosts Tackle advanced topics such as Docker configuration and development Deploy multi-container applications on a distributed cluster with Kubernetes Use a new generation of operating systems optimized for Docker Learn tools for application deployment, continuous integration, service discovery, and orchestration Access a Docker host on Amazon AWS, Google GCE, and Microsoft Azure Monitor containers and explore different application use cases
Docker is a next-generation platform for simplifying application containerization life-cycle. Docker allows you to create a robust and resilient environment in which you can generate portable, composable, scalable, and stable application containers. This book is a step-by-step guide that will walk you through the various features of Docker from Docker software installation to the impenetrable security of containers. The book starts off by elucidating the installation procedure for Docker and a few troubleshooting techniques. You will be introduced to the process of downloading Docker images and running them as containers. You'll learn how to run containers as a service (CaaS) and also discover how to share data among containers. Later on, you'll explore how to establish the link between containers and orchestrate containers using Docker Compose. You will also come across relevant details about application testing inside a container. You will discover how to debug a container using the docker exec command and the nsenter tool. Finally, you will learn how to secure your containers with SELinux and other proven methods.
Among the many configuration management tools available, Ansible has some distinct advantages—it’s minimal in nature, you don’t need to install anything on your nodes, and it has an easy learning curve. With this updated second edition, you’ll learn how to be productive with this tool quickly, whether you’re a developer deploying code to production or a system administrator looking for a better automation solution. Authors Lorin Hochstein and René Moser show you how to write playbooks (Ansible’s configuration management scripts), manage remote servers, and explore the tool’s real power: built-in declarative modules. You’ll discover that Ansible has the functionality you need—and the simplicity you desire. Manage Windows machines, and automate network device configuration Manage your fleet from your web browser with Ansible Tower Understand how Ansible differs from other configuration management systems Use the YAML file format to write your own playbooks Work with a complete example to deploy a non-trivial application Deploy applications to Amazon EC2 and other cloud platforms Create Docker images and deploy Docker containers with Ansible This book is best read start to finish, with later chapters building on earlier ones. Because it’s written in a tutorial style, you can follow along on your own machine. Most examples focus on web applications.
Rethink what's possible with Docker – become an expert in the innovative containerization tool to unlock new opportunities in the way you use and deploy software About This Book Create highly scalable applications and services using the Linux container virtualization paradigm Extend Docker with external platforms, including Heroku and OpenStack Integrate with some of the most innovative and exciting orchestration tools such as Kubernetes for larger and more controlled deployments Who This Book Is For If you recognize Docker's importance for innovation in everything from system administration to web development, but aren't sure how to use it to its full potential, this book is for you. What You Will Learn Become fluent with the basic components of Docker Learn best practices for storing and managing Docker files Secure your containers and files with Docker's security features Learn how to use Docker machine to build new servers from scratch Find out how to set up and manage multiple environments with Docker compose Utilize Docker Swarm to orchestrate containers across different servers Integrate Docker with a wide range of cloud and configuration tools to fully realize its potential In Detail Docker has been a game-changer when it comes to virtualization – it has now grown to become a key driver of innovation beyond system administration, having an impact on the world of web development and more. But how can you make sure you're keeping up with the innovations that it's driving? How can you be sure you're using it to its full potential? Mastering Docker shows you how – it not only demonstrates how to use Docker more effectively, it also helps you rethink and reimagine what's possible with Docker. Covering best practices to make sure you're confident with and the basics, such as building, managing and storing containers, before diving deeper into Docker security, you'll find everything you need to help you extend and integrate Docker in new and innovative ways. You'll learn how to take greater control over your containers using some of Docker's most sophisticated and useful tools, such as Docker compose and Docker swarm, before bringing together everything you already know and have learned to put your containers into production and monitor them for safety and performance. Beyond this, you'll also explore even more advanced strategies, as you learn how to extend and integrate Docker with cloud platforms such as Heroku and OpenStack, and how tools such as Kubernetes can improve the way you manage large-scale container orchestration. With further guidance on how you can use configuration management tools such as Puppet, Chef and PowerShell, by the end of the book you'll have a broad and detailed sense of exactly what's possible with Docker – and how seamlessly it fits with a range of other platforms and tools. Style and approach This book takes you through some of the most sophisticated Docker tools in a way that's accessible and practical. It has been created to help you put new ideas in practice – and to demonstrate precisely what's possible with Docker.
Author: Kevin Hoffman
Publisher: Addison-Wesley Professional
Release Date: 2016-12-05
The Complete Guide to Building Cloud-Based Services Cloud Native Go shows developers how to build massive cloud applications that meet the insatiable demands of today’s customers, and will dynamically scale to handle virtually any volume of data, traffic, or users. Kevin Hoffman and Dan Nemeth describe the modern cloud-native application in detail, illuminating factors, disciplines, and habits associated with rapid, reliable cloud-native development. They also introduce Go, a “simply elegant” high-performance language that is especially well-suited for cloud development. You’ll walk through creating microservices in Go, adding front-end web components using ReactJS and Flux, and mastering advanced Go-based cloud-native techniques. Hoffman and Nemeth show how to build a continuous delivery pipeline with tools like Wercker, Docker, and Dockerhub; automatically push apps to leading platforms; and systematically monitor app performance in production. Learn “The Way of the Cloud”: why developing good cloud software is fundamentally about mindset and discipline Discover why Go is ideal for cloud-native microservices development Plan cloud apps that support continuous delivery and deployment Design service ecosystems, and then build them in a test-first manner Push work-in-progress to a cloud Use Event Sourcing and CQRS patterns to react and respond to enormous volume and throughput Secure cloud-based web applications: do’s, don’ts, and options Create reactive applications in the cloud with third-party messaging providers Build massive-scale, cloud-friendly GUIs with React and Flux Monitor dynamic scaling, failover, and fault tolerance in the cloud
Docker is impossible to ignore. This lightweight container system is easier to deploy and more flexible than traditional VMs. Built for simplicity and speed, it radically reduces your reliance on manual system administration for tasks like configuring servers, creating disposable (and portable!) development environments, and predictably rolling out applications on unknown systems. While the idea behind Docker is simple, it can have a major impact on how software is developed and deployed. Docker in Practice is a hands-on guide to over 100 specific techniques that can be used to get the most out of Docker. Following a cookbook-style Problem/Solution/Discussion format, this practical handbook offers instantly-useful solutions for important areas like effortless server maintenance and configuration, deploying microservices, creating safe environments for experimentation, and much more. The book takes readers from Docker basics to must-have practices like integrating Docker with Continuous Integration process, automating complex container creation with Chef, and orchestration with Kubernetes. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
Author: Andy Hayes
Publisher: Createspace Independent Publishing Platform
Release Date: 2017-01-23
Docker - A Quick Start Beginners Guide Welcome to "Docker: A Quick Introduction To Using Docker Containers Today." This is the best guide for people who want to use Docker as well as implement container-based virtualization. You should not shy away from Docker containers because you lack the knowledge to implement them. All you have to do is completely engage this book. We have divided the book into chapters to make it easier for you to go through. The different topics covered are: Playing with Busybox Docker Run Terminology Webapps with Docker Static Sites Docker Images Our First Image Dockerfile Docker on AWS & much more Take Action Today and Learn Docker In No Time! Click the "Buy now with 1-Click" to the right and get this guide immediately.
Change the way your organization deploys software at scale with this fast-paced guide to the world of Docker About This Book Cut through the noise and in simple terms learn to package your applications and test, ship, and scale your containers Find and build images and successfully run your programs within containers Build, deploy, and test your Docker containers and put them to work in production Who This Book Is For This book is for IT professionals, system administrators, and DevOps professionals or anyone looking to quickly develop and deploy software to production at scale. If you are interested in Docker, DevOps, or containers in general, don't look any further. What You Will Learn Understand Docker's architecture Build, ship, and run distributed applications Deploy, automate, and manage the execution of applications within Docker Scale and virtualize images and containers Utilize the networking features that Docker offers Use repositories to store and retrieve images In Detail This fast-paced practical guide will get you up and running with Docker. Using Docker, you will be able to build, ship, and run many distributed applications in real time. You will start with quickly installing Docker and start working with images and containers. We will present different types of containers and their applications, and show you how to find and build images. You will learn how you can contribute to the image repository by publishing different images. This will familiarize you with the image building process and you will be able to successfully run your programs within containers. By finishing this book, you will be well equipped in deploying your applications using Docker and will have a clear understanding of concepts, techniques, and practical methods to get it running in production systems. Style and approach This book takes a fast-paced practical approach that quickly gets you up and running with Docker so that you spend less time learning and more time deploying Docker containers effectively. This book contains a mix of concepts, practical examples, techniques, and the most up-to-date content to run things effectively in production. We'll show you the easiest way to speed up your development and deployment with Docker.
Author: David Larson
Release Date: 2016-08-20
Docker The Complete Introduction To Using Docker Containers Today Welcome to "Docker: The Complete Introduction To Using Docker Containers Today." This is the best guide for people who want to use Docker as well as implement container-based virtualization. You should not shy away from Docker containers because you lack the knowledge to implement them. All you have to do is completely engage this book. We have divided the book into chapters to make it easier for you to go through. The different chapters are: Chapter 1 - Learning Docker for the First Time Chapter 2 - Getting Started with Docker Chapter 3 - Exploring Docker & Learning the Basic Commands Chapter 4 - Docker Hub