码头工人如何管理容器的IP地址?

问题描述 投票:2回答:1

当在用户定义的桥接网络中创建容器而未指定IP地址时,将从IP范围的开头开始为启动的容器提供IP地址。当某个容器发生故障时,其IP地址将再次变为可用,以后可以由另一个容器使用。 Docker还检测重复的IP,并在提供无效地址时引发异常。就我的研究而言,docker守护程序不依赖于任何DHCP服务。那么Doc​​ker如何真正找出新容器正在使用/可用的IP地址?此外,Docker网络插件(例如docker-go-plugin)如何做同样的事情?

我认为这里的关键字之一是IPAM,但除此之外我什么都不知道。我希望每条信息都为我指明正确的方向。

docker docker-networking
1个回答
1
投票
那个列表。

docker-go-plugin说,尽管Docker服务负责分配,但您可以认为此机制类似于DHCP。

我不知道它是如何实现的。可能是列表,尽管他们可能使用位图。对于65536个IP,您的地图必须仅为64Kb / 8 = 8Kb,因此非常小。然后每一位都会告诉您IP是否正在使用。但是,如果他们必须支持IPv6,那么这样的映射将不切实际。太大了。他们还可以检查现有容器的列表,并尝试分配当前未使用的最小IP。
© www.soinside.com 2019 - 2024. All rights reserved.