Linux-Networking
主機上沒有 IP 地址的 Docker 網路
我正在嘗試創建一個 Docker 網路,該網路將使用主機上的現有網橋,但未在此網橋上配置任何 IP。當我執行時:
docker network create -o "com.docker.network.bridge.name=br0" testnet
Docker 會自動在主機上分配一個 IP 地址,並始終將此 IP 用作其他容器的網關。
我想要的是一個主機上沒有 IP 的網路,並使用另一個容器作為網關(這個容器連接到多個網路)。我有很好的理由進行這種設置,並且不讓主機直接在這些網路之間路由。有可能嗎?我怎樣才能做到這一點?
預先感謝您的幫助,
海綿寶寶
查看原始碼後,似乎無法使用
bridge
網路驅動程序來做到這一點。即使網橋已經存在,createNetwork函式也會嘗試設置 IPv4 。setupBridgeIPv4函式在網橋上設置一個 IPv4 並將這個 IP 定義為網路的網關。我通過使用
none
網路驅動程序並使用管道將容器手動附加到我的主機橋來解決了我的問題。這種解決方案的缺點是容器必須在每次重新啟動時重新連接到網橋,但這可以通過在 docker 之後啟動的 systemd 服務來自動化。