Docker book designed for SysAdmins, SREs, 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 lifecycle, 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.
James Turnbull is the author of numerous technical books about engineering and infrastructure and is a long-time member of the open source community.
James is currently CTO at Empatico, an education technology start-up in New York. He was previously CTO at Kickstarter, VP of Services at Docker Inc, VP of Engineering at Venmo and at Puppet Labs running Operations and Professional Services.
A book designed for SysAdmins, Operations staff, Developers and DevOps who are interested in deploying a log management solution using the open source Elasticsearch, Logstash & Kibana (ELK) stack.
In this book we will walk you through installing, deploying, managing and extending Logstash. We're going to do that by introducing you to Example.com, where you're going to start a new job as one of its SysAdmins. The first project you'll be in charge of is developing its new log management solution.
We'll teach you how to:
* Install and deploy Logstash.
* Ship events from a Logstash Shipper to a central Logstash server.
* Filter incoming events using a variety of techniques.
* Add structured logging to your applications.
* Output those events to a selection of useful destinations.
* Use Logstash's awesome web interface Kibana.
* Scale out your Logstash implementation as your environment grows.
* Quickly and easily extend Logstash to deliver additional functionality that you might need.
By the end of the book, you should have a functional and effective log management solution that you can deploy into your own environment.
Updated for Logstash and ELK 5.0.0!
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 containersCreate and share container imagesNetwork containers across single or multiple hostsTackle advanced topics such as Docker configuration and developmentDeploy multi-container applications on a distributed cluster with KubernetesUse a new generation of operating systems optimized for DockerLearn tools for application deployment, continuous integration, service discovery, and orchestrationAccess a Docker host on Amazon AWS, Google GCE, and Microsoft AzureMonitor containers and explore different application use cases
This book is for developers and sys admins who are well versed Docker and have knowledge on basic programming languages. If you can't wait to extend Docker and customize it to meet your requirements, this is the book for you!What You Will LearnFind out about Docker plugins and the problems they solveGain insights into creating your own pluginUse Docker tools to extend the basic functionality of the core Docker engineGet to grips with the installation and configuration of third-party tools available to use with Docker pluginsInstall, configure, and use a scheduling service to manage the containers in your environmentEnhance your day-to-day Docker usage through security, troubleshooting, and best practicesIn Detail
With Docker, it is possible to get a lot of apps running on the same old servers, making it very easy to package and ship programs. The ability to extend Docker using plugins and load third-party plugins is incredible, and organizations can massively benefit from it.
In this book, you will read about what first and third party tools are available to extend the functionality of your existing Docker installation and how to approach your next Docker infrastructure deployment. We will show you how to work with Docker plugins, install it, and cover its lifecycle. We also cover network and volume plugins, and you will find out how to build your own plugin.
You'll discover how to integrate it with Puppet, Ansible, Jenkins, Flocker, Rancher, Packer, and more with third-party plugins. Then, you'll see how to use Schedulers such as Kubernetes and Amazon ECS. Finally, we'll delve into security, troubleshooting, and best practices when extending Docker.
By the end of this book, you will learn how to extend Docker and customize it based on your business requirements with the help of various tools and plugins.Style and approach
An easy to follow guide with plenty of hands-on practical examples which can be executed both on your local machine or externally hosted services.
Ideal for developers, operations engineers, and system administrators—especially those keen to embrace a DevOps approach—Using Docker will take you from Docker and container basics to running dozens of containers on a multi-host system with networking and scheduling. The core of the book walks you through the steps needed to develop, test, and deploy a web application with Docker.Get started with Docker by building and deploying a simple web applicationUse Continuous Deployment techniques to push your application to production multiple times a dayLearn various options and techniques for logging and monitoring multiple containersExamine networking and service discovery: how do containers find each other and how do you connect them?Orchestrate and cluster containers to address load-balancing, scaling, failover, and schedulingSecure your system by following the principles of defense-in-depth and least privilege