gpt4 book ai didi

docker - 如何更改 docker 网桥地址空间(子网)?

转载 作者:行者123 更新时间:2023-12-02 18:24:07 26 4
gpt4 key购买 nike

我在使用 docker-compose 时遇到问题。目前,我的容器堆栈是在它们自己定制的、基于桥接的隔离网络中创建的。 例如当运行 docker-compose -p client1 up -d 时,它会创建一个名为 client1_default 的网络,该网络具有子网 172.18.0.9/16 这是一个大子网 (/16)。

我不需要那么大的子网,/24 就足够了。

问题是,在当前的设置中,我被限制在大约 25 个容器堆栈,因为 docker(或 libnetwork)用完了地址空间以供使用。使用 /24 地址空间会更好,因为那样会有更多可用空间。

所以第一个问题是:如何让 docker(和 docker-compose)默认使用 /24 子网而不编辑 docker-compose.yml文件。我知道这是可能的,但它需要为每个客户端编辑 .yml 文件或创建一个覆盖 .yml。这是次优的。

如果这不能直接实现,我已经搜索了 libnetwork 代码并找到了 this (有“Broad”和“Granular”地址空间,默认情况下它使用“Broad”)。如何让 docker 使用粒度地址空间?
我读了here那个

For example, if not specified otherwise in the configuration, libnetwork will request address pool from the default local address space for a bridge network, whereas from the default global address space for an overlay network.

我的问题是:如何在配置中指定?提到的配置是什么?更改此行为的语法是什么?

提前致谢!

最佳答案

目前不可能,请参阅 https://github.com/moby/moby/issues/21776 + https://github.com/moby/moby/pull/29376但您可以参与讨论和投票。

关于docker - 如何更改 docker 网桥地址空间(子网)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37386308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com