【问题标题】:Can't ping docker IPv6 container无法 ping docker IPv6 容器
【发布时间】:2016-04-21 17:40:44
【问题描述】:

我运行 docker daemon 以将其与容器的全局 IPv6 一起使用:

docker daemon --ipv6 --fixed-cidr-v6="xxxx:xxxx:xxxx:xxxx::/64"

之后我运行了 docker 容器:

docker run -d --name my-container some-image

它成功获得了全球 IPv6 地址(我检查了docker inspect my-container)。但我无法通过这个 ip ping 我的容器:

Destination unreachable: Address unreachable

但我可以通过它的 IPv6 地址成功 ping docker0 网桥。 route -n -6 的输出包含下一行:

    Destination                     Next Hop                   Flag Met Ref Use If
    xxxx:xxxx:xxxx:xxxx::/64         ::                         U    256 0     0 docker0
    xxxx:xxxx:xxxx:xxxx::/64         ::                         U    1024 0     0 docker0
    fe80::/64                        ::                         U    256 0     0 docker0

docker0 接口具有全局 IPv6 地址:

inet6 addr: xxxx:xxxx:xxxx:xxxx::1/64 Scope:Global

xxxx:xxxx:xxxx:xxxx:: 到处都是一样的,是我的eth0 接口的全局 IPv6 地址

docker 是否需要一些额外的配置才能通过 IPv6 访问我的容器?

【问题讨论】:

    标签: docker ipv6


    【解决方案1】:

    假设您的访客操作系统中的 IPv6 配置正确,您可能不是从主机操作系统 ping 容器,而是外部和网络发现协议未配置。其他主机不知道您的容器是否落后于您的主机。我在使用 IPv6 启动容器后(在主机操作系统中)(在 Systemd .service 文件的 ExecStartPost 子句中)执行此操作

    1. /usr/sbin/sysctl net.ipv6.conf.interface_name.proxy_ndp=1
    2. /usr/bin/ip -6 neigh add proxy $(docker inspect --format {{.NetworkSettings.GlobalIPv6Address}} container_name) dev interface_name"李>

    提防 IPv6:docker 开发人员在对错误报告的回复中表示,他们没有足够的时间在 1.10 版中使 IPv6 投入生产,并且对 1.11 只字未提。

    【讨论】:

      【解决方案2】:

      Mb 你使用了错误的 ping 命令。对于 ipv6 是 ping6。

      $ ping6 2607:f0d0:1002:51::4
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多