我在 docker 容器中为我的家庭实验室运行多项服务,我需要它们能够从各自不同的 IP 进行访问。我的主机系统正在运行 debian“bullseye”。
从 docker 文档来看,使用桥接模式的网络似乎很自然macvlan
,而且默认方式对我来说工作正常。
但是,我尝试在网络中使用最少的手动 IP,而是尝试让 DHCP 服务器分配几乎所有 IP,甚至其他服务器也是如此。当然,我随后将 DHCP 配置为始终根据 MAC 地址为我的服务器分配相同的 IP,但这样,我可以轻松地将服务器从测试网络移动到我的“实时”网络,只需更改 DHCP 服务器中的 IP 分配即可。
我也希望能够使用 docker 容器来做到这一点,即从主机网络中的 DHCP 为 docker 容器分配一个 IP。
关于这一点,我在docker文档中没有找到任何信息,并且这个悬而未决的问题在服务器故障上。
从我的角度来看,有两条可行的路线:
- 在具有动态 IP 的主机上(手动)创建子接口,然后
host
在 docker 中使用网络并将其绑定到(手动)创建的子接口? - 以某种方式使用
macvlan
网络。但我不知道如何配置它才能接收 DHCP 分配。
我希望能得到一个更好的可行解决方案的建议,获得一些关于如何在路线 2 上取得进展的帮助,或者得到一些确认,即路线 1 是正确的选择。
答案1
在 GitHub 上查看此项目。Docker 网络驱动程序,用于在具有 DHCP 分配 IP 地址的主机桥上进行网络连接