2017-05-16 50 views
2

我們的內部網絡具有爲內部目的保留的範圍172.20.0.0/16,並且默認情況下,docker在內部聯網時使用172範圍。更改碼頭自定義網絡的默認子網

➜ ~ sudo cat /etc/docker/daemon.json 
{ 
    "bip": "192.168.2.1/24" 
} 

➜ ~ ifconfig       
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 
    inet 192.168.2.1 netmask 255.255.255.0 broadcast 0.0.0.0 

然而,通過docker network create創建新的自定義網絡時,或在docker-compose.yamlnetworks部分,這些仍然在創建定義他們:我可以通過提供bip設置守護程序重置橋住在192.168 172,從而最終與衝突:

➜ ~ docker network create foo 
610fd0b7ccde621f87d40f8bcbed1699b22788b70a75223264bb14f7e63f5a87 
➜ ~ docker network inspect foo | grep Subnet 
       "Subnet": "172.17.0.0/16", 
➜ ~ docker network create foo1    
d897eab31b2c558517df7fb096fab4af9a4282c286fc9b6bb022be7382d8b4e7 
➜ ~ docker network inspect foo1 | grep Subnet 
       "Subnet": "172.18.0.0/16", 

我明白我可以提供子網價值docker network create,但我寧願要192.168.*下創建的所有這些子網。

如何配置dockerd自動執行此操作?

回答

2

我剛纔發現,根據以下(仍然打開)拉入請求,這仍然是不可能的:https://github.com/moby/moby/pull/29376

我會更樂意刪除這個「答案」如果你們知道更好。