gpt4 book ai didi

docker 运行 : how to avoid overlap between Docker and external host on 172. 18.x.x IP 范围

转载 作者:行者123 更新时间:2023-12-05 01:33:28 25 4
gpt4 key购买 nike

我正在使用 docker run 在本地测试我的容器。我发现它无法连接到我公司网络中的某个主机,失败并显示“无路由到主机”。原来这台主机的 IP 地址是 172.18.x.x,与 Docker 的网络重叠。

那么,有没有办法更改 docker run 配置,使其不声明这个特定的 IP 范围?我已经尝试更改 Docker 守护进程配置文件中的 bipdefault-address-pools 选项,但这并没有解决问题。

最佳答案

如果/etc/docker/daemon.json 中不存在,则创建一个 docker 配置文件

在 daemon.json 中添加一个条目,其中包含要运行 docker bridge0 的子网(您可以在此处添加所需的子网),在“bip”条目下,例如- “bip”:“192.168.1.5/24”

重启 docker 服务:sudo systemctl restart docker

注意:注意不要在子网中使用环回地址,即以 0 结尾的 IP,如 192.168.1.0/24 bridge0 子网应该有足够的地址用于机器上的所有容器使用默认网络。 skyformation 不使用默认网络。

通过运行 ifconfig docker0 | grep -Po '(?<=inet )[\d.]+' 验证它是否有效.它应该像这样打印出在 daemon.json 的“bip”示例中指定的 IP 地址

{ "bip": "192.168.1.5/24" }

现在在您的 docker-compose 文件中,像这样添加网络选项卡。

networks:
isolated_nw:
driver: bridge
ipam:
config:
- subnet: 192.167.0.0/16

现在重新启动您的 docker 容器,通过 grepping 容器的 IP 地址进行验证。它应该按预期工作。

关于docker 运行 : how to avoid overlap between Docker and external host on 172. 18.x.x IP 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64800187/

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