gpt4 book ai didi

Docker 在将 compose 环境从管道部署到服务器时创建与内部网络冲突的 IP 地址

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

目前,我们正在将 compose 环境堆栈部署到 ubuntu 服务器。在 compose 文件中,我们没有定义地址并使用 docker compose 开箱即用的底层默认 docker bridge 网络。

服务器 IP 在 10.x.x.x 范围内。
docker0 ,默认情况下,旋转为 172.17.0.0并在我们服务器上的每个部署( 172.18.0.0172.19.0.0 等)上增加第二个八位字节 - 没问题。

但是,当它启动并从我们的管道部署时,当 compose 启动并运行时,服务器上会创建另一个网络,并将其命名为 br-xxxxxxxxxxx在哪里 x是一些随机字符。问题出现在这里,因为这个br-网络绑定(bind)到 192.168.x.x地址。

我的问题是,为什么 docker 守护进程在部署 compose 环境之前不推断冲突地址?

我可以验证这确实是一个问题,因为一旦发生这种情况,我就无法 ssh 进入服务器。

先感谢您!

这与我问的另一个问题有关,但这是我在解决这个问题时注意到的一个完全独立的问题,所以我决定单独发表一篇文章。

相关问题的链接:What happens when docker daemon runs out of network IP addresses to allocate when deploying compose environments?

最佳答案

在/etc/docker/daemon.json 文件中,您可以为默认网桥和用户创建的网桥网络指定以下内容:

{
"bip": "10.15.0.1/24",
"default-address-pools": [
{"base": "10.20.0.0/16", "size": 24},
{"base": "10.40.0.0/16", "size": 24}
]
}

我相信这些地址池需要 18.06,并定义一个池供 docker 在创建桥接网络时从中选择。如果 docker 看不到您希望避免使用的专用网络的路由,这将很有用。

这是我最近在 DockerCon 上发表的技巧和窍门演讲的一部分(您可以按“P”查看演示者备注):
https://sudo-bmitch.github.io/presentations/dc2019/tips-and-tricks-of-the-captains.html#21

关于Docker 在将 compose 环境从管道部署到服务器时创建与内部网络冲突的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55943660/

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