本篇是第七部分“網絡篇”的第五篇。在這個部分,我會為你由淺入深的介紹 Docker 網絡相關的内容。包括 Docker 網絡基礎及其實作和内部原理等。上篇,我為你介紹了 Docker 如何利用 iptables 為容器提供網絡。本篇,我們深入了解下之前提到的 Docker 的一個元件 docker-proxy 的工作原理。
在之前的《Docker 核心架構及拆解(中)》我已經為你介紹過 docker-proxy 的基本應用。
這裡我們稍作簡單的複習:dockerd 在啟動時提供了一個
--userland-proxy
的參數,用于控制是否啟用 userland proxy 來處理回環(loopback)流量,并且可以通過
--userland-proxy-path
參數自定義 userland proxy 二進制檔案的路徑。
(MoeLove) ➜ ~ dockerd --help |grep userland-proxy
--userland-proxy Use userland proxy for loopback traffic (default true)
--userland-proxy-path string Path to the userland proxy binary
預設使用的是 docker-proxy,它支援的參數如下:
(MoeLove) ➜ ~ docker-proxy -h
Usage of docker-proxy:
-container-ip string
container ip
-container-port int
container port (default -1)