Oliver Seitz

Docker network without Docker

Docker networking isn't magic. See how to build its core features from scratch using only fundamental Linux utilities like bridges, veth pairs, and iptables.

Docker network without Docker
#1about 2 minutes

Understanding container isolation with namespaces and cgroups

Containers use Linux namespaces for process isolation and cgroups for resource limiting, which necessitates explicit networking configurations for communication.

#2about 5 minutes

Establishing host-to-container communication with virtual ethernet pairs

A virtual ethernet (veth) pair acts as a point-to-point virtual cable, connecting a container's isolated network namespace directly to the host system.

#3about 5 minutes

Using virtual bridges for multi-container communication

A virtual network bridge functions like a physical switch, allowing multiple containers to communicate with each other through a single shared interface.

#4about 11 minutes

Analyzing Docker's IPtables rules for network isolation

Docker automatically creates IPtables rules in chains like DOCKER-ISOLATION-STAGE-1 to prevent unwanted traffic between different custom networks by default.

#5about 5 minutes

Manually configuring port forwarding for a running container

Port forwarding is achieved by adding a Destination NAT (DNAT) rule to the IPtables nat table, which can be added or modified for an already running container.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust