Book Image

Docker Orchestration

By : Randall Smith
Book Image

Docker Orchestration

By: Randall Smith

Overview of this book

Docker orchestration is what you need when transitioning from deploying containers individually on a single host to deploying complex multi-container apps on many machines. This book covers the new orchestration features of Docker 1.12 and helps you efficiently build, test, and deploy your application using Docker. You will be shown how to build multi-container applications using Docker Compose. You will also be introduced to the building blocks for multi-host Docker clusters such as registry, overlay networks, and shared storage using practical examples. This book gives an overview of core tools such as Docker Machine, Swarm, and Compose which will enhance your orchestration skills. You’ll learn how to set up a swarm using the decentralized building block. Next, you’ll be shown how to make the most out of the in-built orchestration feature of Docker engine and you’ll use third-party tools such as Kubernetes, Mesosphere, and CoreOS to orchestrate your existing process. Finally, you will learn to deploy cluster hosts on cloud services and automate your infrastructure.
Table of Contents (17 chapters)
Docker Orchestration
About the Author
About the Reviewer
Customer Feedback

Logging with containers

Nearly every application generates logs of some sort. They might track usage such as web server access logs or they may only show start up or error messages. In every case, logs have their use and not being able to see them can be a serious problem.

Logging in Docker is a strange beast. Containers are, by design, transitory. They are designed to be created and destroyed often. This becomes a problem for application logs because log files are deleted right along with a container.

The solution to the problem is two-fold. First, Docker provides a plugin system for logging, which takes everything an application prints to standard out or standard error and logs it somewhere. Second, a somewhere is needed for those logs to go to. In other words, a log aggregation server is needed.

Using Docker logging plugins

Docker assumes that everything that is printed to standard out or standard error is a log. These logs can be accessed by running docker logs <container name> where...