Best Books For Learning Docker From Scratch

Posted on 10-27-2017 by onlinebooksreview


Docker is the company driving the container movement and the only container platform provider to address every application across the hybrid cloud. Today's businesses are under pressure to digitally transform but are constrained by existing applications and infrastructure while rationalizing and increasingly diverse portfolio of clouds, datacenters and application architectures. Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation. Here your will get some awesome books of docker.

The Docker Book: Containerization is the new virtualization

A new book designed for SysAdmins, Operations staff, Developers and DevOps who are interested in deploying the open source container service Docker.In this book, we will 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. Use Compose and Swarm for the orchestration of Docker containers and Consul for service discovery.
  • Explore the Docker API.
  • Getting Help and Extending Docker.

Docker in Action

About the Technology

The idea behind Docker is simple. Create a tiny virtual environment, called a container, that holds just your application and its dependencies. The Docker engine uses the host operating system to build and account for these containers. They are easy to install, manage, and remove. Applications running inside containers share resources, making their footprints small.

What's You Will Learn

  • How to run programs securely 
  • Packaging containers for deployment
  • How to manage shared resources
  • The book teaches you how to orchestrate containers and applications from installation to removal
  • Installing, managing, and removing containers
  • How to create, deploy, and manage applications hosted in Docker containers
  • Working with Docker images
  • Distributing with DockerHub
  • You'll discover techniques for using Docker on systems ranging from dev-and-test machines to full-scale cloud deployments.
  • You will learn how to package applications in containers, including techniques for testing and distributing applications.

Using Docker: Developing and Deploying Software with Containers

Docker containers offer simpler, faster, and more robust methods for developing, distributing, and running software than previously available. With this hands-on guide, you’ll learn why containers are so important, what you’ll gain by adopting Docker, and how to make it part of your development process.

What You Will Learn 

  • Get started with Docker by building and deploying a simple web application
  • Use Continuous Deployment techniques to push your application to production multiple times a day
  • Learn various options and techniques for logging and monitoring multiple containers
  • Examine 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 scheduling
  • Secure your system by following the principles of defense-in-depth and least privilege.

Docker in Practice

Docker in Practice is a hands-on guide that covers 101 specific techniques you can use to get the most out of Docker. Following a cookbook-style Problem/Solution/Discussion format, this practical handbook gives you instantly useful solutions for important problems like effortless server maintenance and configuration, deploying microservices, creating safe environments for experimentation, and much more. As you move through this book, you’ll advance from basics to Docker best practices like using it with your Continuous Integration process, automating complex container creation with Chef, and orchestration with Kubernetes.

What You Will Learn

  • Speeding up your DevOps pipeline
  • Cheaply replacing VMs
  • Streamlining your cloud workflow
  • Using the Docker Hub
  • Navigating the Docker ecosystem

Docker: Up & Running: Shipping Reliable Containers in Production

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.

What You Will Learn

  • 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

Docker Cookbook: Solutions and Examples for Building Distributed Applications

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.

What You Will Learn 

  • 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 Deep Dive

Updated 3rd October 2017. This is the ultimate book for learning Docker, brought to you by Docker Captain and leading educator in the container ecosystem Nigel Poulton.

Docker: Best Practices to Learn and Execute Docker Programming (Volume 4)

Are you looking for proven steps and strategies on how to use Docker? Then look no more! This book contains essential information and best practices to learn and execute Docker especially when you are just starting to learn. What are you waiting for? Grab a copy of this book now and learn more about Docker!

The DevOps 2.1 Toolkit: Docker Swarm: Building, testing, deploying, and monitoring services inside Docker Swarm clusters (The DevOps Toolkit Series) (Volume 2)

The book envelops all aspects of building, testing, deploying, and monitoring services inside Docker Swarm clusters. We'll go through all the tools required for running a cluster. We'll go through the whole process with clusters running locally on a laptop. Once we are confident with the outcome, we'll translate the experience to different hosting providers like AWS, Azure, DigitalOcean, and so on.

The book goes deeper into one of the subjects explored in The DevOps 2.0 Toolkit. It is updated to use the latest and greatest features and techniques introduced in Docker 1.12.

We'll go through many practices and even more tools. While there will be a lot of theory, this is a hands-on book. You won't be able to complete it by reading it in a metro on a way to work. You'll have to read this book while in front of the computer and get your hands dirty.


Docker: Simple and Effective Strategies to Execute Docker Programming (Volume 3)

Docker programming is becoming more and more mainstream as time goes on, but is also becoming more complicated as well. To ensure you aren’t left out in the cold, it is important to jump on the container bandwagon ASAP which means learning as much as you can about Docker, including useful and effective strategies to make doing so as quick and easy as possible.

Luckily, that’s where Docker: Simple and Effective Strategies to Execute Docker Programming comes in, as it is tailor-made to take your Docker programing skills to the next level.

Written for those who already have a basic understanding of Docker and what it’s good for, this book instead focuses on many of the best strategies for commonly used Docker functions to ensure that you make the most of every interaction with the programming language without tearing your hair out in frustration along the way.

The five best ways to log your results effectively •The four most effective image building strategies on the market today •And more.


Docker: Advanced Strategies to Learn and Execute Docker Programming (Volume 5)

This book contains proven steps and strategies on how to use more advanced strategies of Docker in order to access images. This book is going to into more detail with some more advanced strategies that you are going to be able to use docker so that you can keep getting images and learning how you are going to be able to create them and manage them.

Not only that, but you are going to learn more about the nodes that are found in Docker and how they are going to be manipulated and work for you. And yeah....Dont forget to check out the other editions- Beginner's, Tips and Tricks, Simple and Effective strategies and Best Practices. So, what are you waiting for? Grab this book today and start learning Docker Programming ASAP!


Docker on Windows

About The Book

  • Package traditional .NET Frameworks apps and new .NET Core apps as Docker images, and run them in containers for increased efficiency, portability, and security
  • Design and implement distributed applications that run across connected containers, using enterprise-grade open source software from public Docker images
  • Build a full Continuous Deployment pipeline for a .NET Framework application, and deploy it to a highly-available Docker swarm running in the cloud

What You Will Learn

  • Comprehend key Docker concepts: images, containers, registries, and swarms
  • Run Docker on Windows 10, Windows Server 2016, and in the cloud
  • Deploy and monitor distributed solutions across multiple Docker containers
  • Run containers with high availability and fail-over with Docker Swarm
  • Master security in-depth with the Docker platform, making your apps more secure
  • Build a Continuous Deployment pipeline by running Jenkins in Docker
  • Debug applications running in Docker containers using Visual Studio
  • Plan the adoption of Docker in your own organization

Docker for Data Science: Building Scalable and Extensible Data Infrastructure Around the Jupyter Notebook Server

Learn Docker "infrastructure as code" technology to define a system for performing standard but non-trivial data tasks on medium- to large-scale data sets, using Jupyter as the master controller.

The Docker-Compose technology is examined and you will learn how it can be used to build a linked system with Python churning data behind the scenes and Jupyter managing these background tasks. Best practices in using existing images are explored as well as developing your own images to deploy state-of-the-art machine learning and optimization algorithms.

What  You'll Learn 
  • Master interactive development using the Jupyter platform
  • Run and build Docker containers from scratch and from publicly available open-source images
  • Dockerfile to extend these images to suit your specific purposes
  • Write infrastructure as code using the docker-compose tool and its docker-compose.yml file type
  • Deploy a multi-service data science application across a cloud-based system
  • You will learn how to use existing pre-compiled public images created by the major open-source technologies―Python, Jupyter, Postgres―as well as using the 


Monitoring Docker

About The Book

  • Get the only book that covers multiple methods to monitoring Docker Containers -your one-stop solution to all your Docker monitoring needs
  • Learn how to implement third-party tools such as Datalog, cAdvisor, and more with this example-rich, hands-on guide
  • Learn how to efficiently monitor Docker containers and get an edge over other administrators while maintaining apps on these containers

What You Will Learn

  • Discover the tools built into Docker to gain an insight into your containers' performance
  • Augment Docker's built-in tools with modern tools such as cAdvisor from Google, SysDig by Draios, and Soundcloud's Prometheus
  • Integrate the monitoring of your containers with more traditional monitoring solutions such as Zabbix
  • Take advantage of the various SaaS offerings from third parties to move monitoring away from your local infrastructure and into the cloud
  • Discover the various ways to ship your applications' logs from the container to a central logging service
  • Get the most out of your application and resources with the right implementation of your monitoring method

Learning Docker - Second Edition

About The Book

  • This up-to-date edition shows how to leverage Docker's features to deploy your existing applications
  • Learn how to package your applications with Docker and build, ship, and scale your containers
  • Explore real-world examples of securing and managing Docker containers

What You Will Learn

  • Develop containerized applications using the Docker version 17.03
  • Build Docker images from containers and launch them
  • Develop Docker images and containers leveraging Dockerfiles
  • Use Docker volumes to share data
  • Get to know how data is shared between containers
  • Understand Docker Jenkins integration
  • Gain the power of container orchestration
  • Familiarize yourself with the frequently used commands such as docker exec, docker ps, docker top, and docker state. 

Docker Networking Cookbook

Key Features

  • Enhance your Docker networking skills and protect your organization using advanced networking functions
  • Learn how to use third party tools to extend Docker networking
  • This practical and recipe-based book demonstrates the different ways in which you can network containers leveraging the Docker engine.

Book Description

Begin by examining the building blocks used by Docker to implement fundamental containing networking before learning how to consume built-in networking constructs as well as custom networks you create on your own. Next, explore common third-party networking plugins, including detailed information on how these plugins inter-operate with the Docker engine. Consider available options for securing container networks, as well as a process for troubleshooting container connectivity.

What you will learn

  • Configure Linux networking primitives used by Docker networking
  • Build and deploy user-defined Docker networks
  • Examine the different options for resolving and linking containers
  • Implement custom networks for Docker to consume
  • Discover third-party networking plugins such as Weave and Flannel
  • Work through solutions to secure Docker containers and networks
  • Observe methodologies for troubleshooting container networks
  • Explore advanced and experimental Docker networking features.

Continuous Delivery with Docker and Jenkins

Key Features

  • Build reliable and secure applications using Docker containers.
  • Create a complete Continuous Delivery pipeline using Docker, Jenkins, and Ansible.
  • Deliver your applications directly on the Docker Swarm cluster.
  • Create more complex solutions using multi-containers and database migrations.

Book Description

This book will explain the advantages of combining Jenkins and Docker to improve the continuous integration and delivery process of app development. It will start with setting up a Docker server and configuring Jenkins on it. It will then provide steps to build applications on Docker files and integrate them with Jenkins using continuous delivery processes such as continuous integration, automated acceptance testing, and configuration management.

What you will learn

  • Get to grips with docker fundamentals and how to dockerize an application for the Continuous Delivery process
  • Configure Jenkins and scale it using Docker-based agents
  • Understand the principles and the technical aspects of a successful Continuous Delivery pipeline
  • Create a complete Continuous Delivery process using modern tools: Docker, Jenkins, and Ansible
  • Write acceptance tests using Cucumber and run them in the Docker ecosystem using Jenkins
  • Create multi-container applications using Docker Compose
  • Managing database changes inside the Continuous Delivery process and understand effective frameworks such as Cucumber and Flyweight
  • Build clustering applications with Jenkins using Docker Swarm
  • Publish a built Docker image to a Docker Registry and deploy cycles of Jenkins pipelines using community best practicee.

Docker Orchestration

Key Features

  • Explore the new features added to the core Docker Engine to make multi-container orchestration easy
  • Leverage tools such as Docker Machine, Swarm, Compose, and third-party tools such as Kubernetes, Mesosphere, and CoreOS to orchestrate containers
  • Use Docker Compose with Swarm and apply rolling updates for zero downtime deployments

What you will learn

  • Build scalable, reliable services with Docker
  • See how to manage a service in Docker using Docker Swarm, Kubernetes, and Mesosphere
  • Discover simpler orchestration tools such as CoreOS/Fleet and Rancher Cattle
  • Understand cluster-wide logging, system monitoring, and troubleshooting
  • Build, test, and deploy containers using Continuous Integration
  • Deploy cluster hosts on cloud services and automate your infrastructure.

Top 50 Docker Interview Questions and Answers

This book contains basic to expert level Docker interview questions that an interviewer asks. Each question is accompanied with an answer so that you can prepare for job interview in short time. We have compiled this list after attending dozens of technical interviews in top-notch companies like- Google, Facebook, Netflix, Amazon etc. Often, these questions and concepts are used in our daily programming work. But these are most helpful when an Interviewer is trying to test your deep knowledge of Docker.

The difficulty rating on these Questions varies from a Fresher level software programmer to a Senior software programmer. Once you go through them in the first pass, mark the questions that you could not answer by yourself. Then, in second pass go through only the difficult questions. After going through this book 2-3 times, you will be well prepared to face a technical interview on Docker for an experienced programmer.

Sample Questions are-

  • What is Docker?
  • What is the difference between Docker image and Docker container?
  • How will you remove an image from Docker?
  • How is a Docker container different from a hypervisor?
  • Can we write compose file in json file instead of yaml?
  • Can we run multiple apps on one server with Docker?
  • What are the common use cases of Docker?
  • What are the main features of Docker-compose?
  • What is the most popular use of Docker?
  • What is the role of open source development in the popularity of Docker?

Native Docker Clustering with Swarm

This book covers Swarm, Swarm Mode, and SwarmKit. It gives you a guided tour on how Swarm works and how to work with Swarm. It describes how to set up local test installations and then moves to huge distributed infrastructures. You will be shown how Swarm works internally, what’s new in Swarmkit, how to automate big Swarm deployments, and how to configure and operate a Swarm cluster on the public and private cloud.

This book will teach you how to meet the challenge of deploying massive production-ready applications and a huge number of containers on Swarm. You'll also cover advanced topics that include volumes, scheduling, a Libnetwork deep dive, security, and platform scalability.

Key Features

  • Get to grips with Docker Swarm, one of the key components of the Docker ecosystem.
  • Optimize Swarm and SwarmKit features for scaling massive applications through containers.
  • Learn about Docker’s scheduling tricks, high availability, security, and platform scalability.

What you will learn

  • Create and manage Swarm Mode clusters of any size
  • Get a backstage view of the biggest Swarms ever built : Swarm2k and Swarm3k, with their 2,300 and 4,700 nodes
  • Discovery mechanisms and Raft
  • Deploy your containerized app on Swarm
  • Administer Swarm clusters on AWS, Azure, and DigitalOcean
  • Integrate Flocker volumes with Swarm
  • Create and manage Swarms on OpenStack Magnum. 

Docker and Kubernetes for Java Developers

This book will start by introducing Docker and delve deep into its networking and persistent storage concepts. You will then proceed to learn how to refactor monolith application into separate services by building an application and then packaging it into Docker containers. Next, you will create an image containing Java Enterprise Application and later run it using Docker. Moving on, the book will focus on Kubernetes and its features and you will learn to deploy a Java application to Kubernetes using Maven and monitor a Java application in production. By the end of the book, you will get hands-on with some more advanced topics to further extend your knowledge about Docker and Kubernetes.

Key Features

  • Master using Docker and Kubernetes to build, deploy and manage Java applications in a jiff
  • Learn how to create your own Docker image and customize your own cluster using Kubernetes
  • Empower the journey from development to production using this practical guide.

What you will learn

  • Package Java applications into Docker images
  • Understand the running of containers locally
  • Explore development and deployment options with Docker
  • Integrate Docker into Maven builds
  • Manage and monitor Java applications running on Kubernetes clusters
  • Create Continuous Delivery pipelines for Java applications deployed to Kubernetes