Cross-Network Container Communication
在 Docker 的網路規則中,由於 DOCKER-ISOLATION-STAGE-1、DOCKER-ISOLATION-STAGE-2 兩個 iptables chain 的關係,因此不同 Docker network 連結的 container 是無法互相溝通的。不過,我們可以透過建立 router 的手段來規避掉 chain 的限制,讓 container 收到其他 container 來的packages。此方式涉及到 Linux Bridge 處理封包的方式和基本網路知識,希望透過此介紹,來更了解 network stack 與 packages 處理流程。
Docker Container Network
我們知道,Docker 的網路實現是基於 Linux network namespace,Linux network bridge,與 virtual ethernet device 所架構而成的(可參閱 Linux Network Fundamentals)。