Book Details

ISBN 139781786461148

Paperback378 pages

Book Description

Networking functionality in Docker has changed considerably since its first release, evolving to offer a rich set of built-in networking features, as well as an extensible plugin model allowing for a wide variety of networking functionality. This book explores Docker networking capabilities from end to end. 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.

Finally, examine advanced Docker networking functions and their relevant use cases, tying together everything you need to succeed with your own projects.

Table of Contents

Chapter 1: Linux Networking Constructs

Introduction

Working with interfaces and addresses

Configuring Linux host routing

Exploring bridges

Making connections

Exploring network namespaces

Chapter 2: Configuring and Monitoring Docker Networks

Introduction

Verifying host-level settings that impact Docker networking

Connecting containers in bridge mode

Exposing and publishing ports

Connecting containers to existing containers

Connecting containers in host mode

Configuring service-level settings

Chapter 3: User-Defined Networks

Introduction

Viewing the Docker network configuration

Creating user-defined networks

Connecting containers to networks

Defining a user-defined bridge network

Creating a user-defined overlay network

Isolating networks

Chapter 4: Building Docker Networks

Introduction

Manually networking containers

Specifying your own bridge

Using an OVS bridge

Using an OVS bridge to connect Docker hosts

OVS and Docker together

Chapter 5: Container Linking and Docker DNS

Introduction

Verifying a host-based DNS configuration inside a container

Overriding the default name resolution settings

Configuring links for name and service resolution

Leveraging Docker DNS

Creating Docker DNS aliases

Chapter 6: Securing Container Networks

Introduction

Enabling and disabling ICC

Disabling outbound masquerading

Managing netfilter to Docker integration

Creating custom iptables rules

Exposing services through a load balancer

Chapter 7: Working with Weave Net

Introduction

Installing and configuring Weave

Running Weave-connected containers

Understanding Weave IPAM

Working with WeaveDNS

Weave security

Using the Weave network plugin

Chapter 8: Working with Flannel

Introduction

Installing and configuring Flannel

Integrating Flannel with Docker

Using the VXLAN backend

Using the host gateway backend

Specifying Flannel options

Chapter 9: Exploring Network Features

Introduction

Working with prerelease versions of Docker

Understanding MacVLAN interfaces

Working with the Docker MacVLAN network driver

Understanding IPVLAN interfaces

Working with the Docker IPVLAN network driver

Tagging VLAN IDs with MacVLAN and IPVLAN networks

Chapter 10: Leveraging IPv6

Introduction

IPv6 command-line basics

Enabling IPv6 capabilities in Docker

Working with IPv6-enabled containers

Configuring NDP proxying

User-defined networks and IPv6

Chapter 11: Troubleshooting Docker Networks

Introduction

Using tcpdump to verify network paths

Verifying VETH pairs

Verifying published ports and outbound masquerading

Verifying name resolution

Building a test container

Resetting the local Docker network database

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

Authors

Jon Langemak

Jon Langemak has over 10 years of experience in designing, building, and maintaining high-performance networks. He is passionate about network operations, automation, and open source tooling. His current focus is on disruptive technologies and the impact they have on network operations. Outside of work, Jon blogs at dasblinkenlichten.com and enjoys collaborating with others in the network community on new ideas and concepts.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.