As many of you have noticed I’ve been neglecting the blog for past few months. The main reason for this is that the majority of my free time was being spent generating content for a new book. I’m pleased to announce that the book, Docker Networking Cookbook, has now been released!
Here’s a brief description of the book…
“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.”
The book is available from Packt and I believe Amazon has it as well. If you happen to buy a copy I would greatly appreciate it if you would send me any and all feedback you have. This is my first attempt at writing a book so any feedback and critiques you can share would be really great.
A big thank you to all of the folks at Packt that made this possible and worked with me through the editing and publishing process. I’d also like to thank the technical reviewer Francisco Souza for his review.
Now that the book is published I look forward to spending my free time blogging again. Thanks for hanging in there!
Hi Mr. Langemack,
I have started reading your book. Very interesting but I am wondering why you create a bridge in the Linux networking introduction chapter?
If you want to connect a third server (e.g. net4) you still have to attach it to net1 with another interface? So what is the advantage of creating a Linux software bridge on the net1 host? Was it just to demonstrate the Linux bridge function?
Wouldn’t you just put a hub/switch between net1 and net2 to create that bridge?
Despite that question I think your book looks great. I like it that it is going deep in the Linux router / bridge configuration. I like it because it isn’t such a “X for Dummies” book with a lot of screenshots …
Thanks for reading the book and your question. Yeah – I was trying to show the options available to you. The advantage here is from a logical perspective not physical. If the host net1 had another interface (call it eth3) and you plugged net4 into that how do you logically connect to net4? Eth3 would need an IP address on it that was part of a different subnet and so would the host net4’s interface. My point was that you could just add the interface eth3 on net1 to the bridge and then use the same subnet as you were using on the bridge to IP net4. In this manner – both net3 and net4 can be on the same subnet and use the same gateway on net1. You could solve this problem with a physical switch as well like you suggested but at this point I was only talking about Linux hosts.
Does that help?
Thanks! – Jon
Grabbed this the other day and wanted to say great work.
It’s covering a lot of things that I feel are pretty neglected in terms of the information out there in the wild as the development focus behind the container world seems to dominate the topics.
Especially appreciated the sections on the MACVLAN/IPVLAN drivers, and having not touched a piece of kit since around a year so my networking has been a bit rusty ago it’s been helping me rethink my approaches to some big and complicated problems I’m trying to solve on a platform level.
Thank you for this excellent book. Lots of great hands-on examples and diagrams.
I have a 2 questions:
In chapter 1 – Linux network constructs – working with interfaces and addresses.
We have 3 hosts: net1, net2, net3.
You showed how to configure the interfaces on each net server but I didn’t understand how eth1 interface in the net1 server is connected to eth0 interface in net2 server (and also eth2 interface to eth0 in net3). Where is that routing / mapping taking place?
What was the purpose to setup the dummy interfaces?
I’ve bought the e-book lately. Thanks for writing.
Question : is it possible to add arm to the docker examples because i run a rasberry Pi lab environment.