Can';t ping docker IPv6容器

Can';t ping docker IPv6容器,docker,ipv6,Docker,Ipv6,我运行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 unre

我运行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
bridge。
路线-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访问我的容器?

Mb您使用了错误的ping命令。ipv6就是ping6

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

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

  • /usr/sbin/sysctl net.ipv6.conf.interface\u name.proxy\u ndp=1
  • /usr/bin/ip-6 neigh add proxy$(docker-inspect--format{{.NetworkSettings.GlobalIPv6Address}}容器名称)开发接口名称“
  • 小心IPv6:docker开发人员在回复bug报告时说,他们没有足够的时间在1.10版中准备好IPv6生产,对1.11版只字不提