【发布时间】:2017-10-15 15:58:09
【问题描述】:
我们的内部网络保留了 172.20.0.0/16 范围供内部使用,docker 默认使用 172 范围作为内部网络。我可以通过为守护进程提供bip 设置来重置网桥以居住在 192.168:
➜ ~ 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.yaml 的networks 部分中定义它们时创建新的自定义网络时,这些仍然是在172 中创建的,因此最终会与172.20 发生冲突:
➜ ~ 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 自动执行此操作?
【问题讨论】:
标签: docker docker-compose