没有ipv4地址的Docker容器

时间:2014-01-13 14:03:16

标签: ipv4 docker

在ubuntu 13.04下使用docker 0.7.2,当我通过Dockerfile或交互式创建容器时:生成的网络接口veth * * 没有ipv4地址,而是ipv6地址。

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

12.04盒子上的行为相同。

2 个答案:

答案 0 :(得分:4)

主机中的网络接口veth…不应具有IPv4地址。这些虚拟接口成对使用:

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

这两个接口连接在一起:接口上发送的任何数据包都将显示为另一个接收。您可以想象它们是通过交叉电缆连接的,如果这有帮助: - )

veth…接口具有IPv6地址的事实仅仅是因为启用IPv6时,所有接口都至少接收链路本地地址。但在这种情况下,这个地址基本没用。

答案 1 :(得分:0)

重启docker服务一次。这将在 docker0 链接

中显示 ipv4 地址
web: gunicorn project.wsgi --log-file -
worker1: celery -A project worker -l INFO --concurrency=1 -Ofair -n worker1.%h
worker2: celery -A project worker -l INFO --concurrency=1 -Ofair -n worker2.%h

请记住,正在运行的容器将被关闭。 您可以使用sudo systemctl restart docker.service 命令

检查ip