在通过dockerfile或以交互方式创建容器的ubuntu 13.04和docker 0.7.2下:生成的veth **网络接口(interface)没有ipv4地址,而是ipv6地址。

如何获得ipv4地址?有没有我错过的事情。这取决于我的网络配置吗?

在12.04框上的行为相同。

最佳答案

主机中的网络接口(interface)veth…不应具有IPv4地址。这些虚拟接口(interface)成对工作:

  • 一个接口(interface)将在容器中,它将被命名为eth0,并将具有一个IPv4地址。出于所有目的,它看起来像一个普通的界面。
  • 该对中的另一半是veth…接口(interface)。它将在主机中,并且没有IPv4地址。

  • 这两个接口(interface)连接在一起:在一个接口(interface)上发送的任何数据包都将被对方接收。您可以想象它们通过交叉电缆连接,如果有帮助的话:-)
    veth…接口(interface)具有IPv6地址的事实仅仅是因为启用IPv6时,所有接口(interface)都至少会收到一个本地链接地址。但是在这种情况下,该地址实际上是没有用的。

    关于ipv4 - 没有ipv4地址的Docker容器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21093173/

    10-16 18:24