【问题标题】:use docker container on host network without sharing host's ip在主机网络上使用 docker 容器而不共享主机的 ip
【发布时间】:2015-07-15 21:01:20
【问题描述】:

我的 docker 主机是本地网络 192.168.178.0/24 的一部分。

有没有办法运行成为主机网络一部分的容器,但与主机共享相同的 ip?因此,例如,如果主机的 ip 192.168.178.5 我想向容器提供 192.168.178.8 而不会干扰 docker 主机的网络配置。

【问题讨论】:

  • 我相信这就是你要找的东西:[给 docker 容器一个可路由的 ip 地址][1] [1]:stackoverflow.com/questions/26539727/…
  • @HatemJaber 谢谢,但我不想要 NAT 或容器的不同子网(这至少是我在阅读您链接的答案时所理解的)

标签: networking docker


【解决方案1】:

由于 docker 容器本质上必然会使用其主机的网络堆栈,因此它还必须共享主机 IP 才能与网络通信。对于单容器设置,唯一的解决方案应该是向主机添加第二个 NIC,并专门为您的 docker 使用第二个 NIC 和提供的 IP……但除此之外,我没有看到任何解决方案彻底破坏主机网络堆栈的 OSI 模型,因此包括一些主要的副作用:-/

【讨论】:

  • 您的意思是将第二个 NIC 用于 Docker 主机还是仅用于容器?如果可以为容器分配网络接口,那么我应该能够为它分配具有第二个 IP 的虚拟接口,不是吗?
  • 您说您不希望 NAT 参与其中。所以不,任何类型的虚拟接口都不会这样做,因为它仍然需要通过你的物理接口公开,这需要通过 NAT 之类的东西来分离它的真实端点和你的虚拟 NIC 之间的流量。要么获得第二个物理适配器,要么您必须使用某种 NAT 机制来使您的主机能够识别网络流量的目标
猜你喜欢
  • 2019-08-25
  • 1970-01-01
  • 2016-02-27
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-03
相关资源
最近更新 更多