gpt4 book ai didi

Docker容器桥接接口(interface)分配IP地址

转载 作者:行者123 更新时间:2023-12-02 19:42:18 28 4
gpt4 key购买 nike

我试图删除默认 docker0接口(interface),因为我想使用 eth0 分配 IP 地址及其IP“范围”。

首先我尝试编辑/etc/network/interfaces并定义一个新接口(interface),我可以用它替换默认 docker0.

auto br0
iface br0 inet static
address 10.1.1.1
netmask 255.255.255.0
bridge_ports dummy0
bridge_stp off
bridge_fd 0
docker -d -b br0

您可以在下面看到我的容器的虚拟接口(interface)配置之一。新 br0界面不工作;容器无法从其范围内获取地址。通过使用 docker inspect , 我发现他们的 IP 地址像 172.17.0.X ,这是完全没用的。
vethb9597ff Link encap:Ethernet  HWaddr 5a:b5:0d:20:56:11
inet6 addr: fe80::58b5:dff:fe20:5611/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:648 (648.0 B) TX bytes:1296 (1.2 KB)

所以我现在正在寻找从 eth0 分配 IP 地址的最简单方法。在桥接模式下。

最佳答案

IMO(我不是网络专家)你的问题没有意义。 eth0 是你的网卡的接口(interface),它会被你的路由器或链路分配一个IP。您可以通过使用主机网络选项来共享它并避免 veth 和网桥的开销,但是您的容器将不会获得自己的 IP 地址。您必须通过您的 PC 网卡 - 无法将容器直接连接到路由器。

目前尚不清楚您希望实现什么,但我建议您查看网络解决方案,例如 WeaveProject Calico .还有 Jérôme Petazzoni 的 pipework项目可能很有趣,并有助于解释更多发生的事情。

您可以通过传递 --fixed-cidr 来控制 Docker 网桥使用的 IP 范围。 Docker 守护进程的参数,例如docker daemon --fixed-cidr=172.17.0.0/24 .我不认为这会做你想要的;您网络上的其他计算机将无法神奇地路由到这些地址。我认为最符合您意愿的解决方案可能是 Project Calico。

关于Docker容器桥接接口(interface)分配IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32955935/

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