我在网上也看来很多教程,说的都是
vi /etc/docker/daemon.json
然后添加
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
接着再重启,但是我这样试了,分配到的地址,用电脑 ping6 都 ping 不通。然后我看了下路由器的 ipv6,将前面四段替换掉配置里的这个,变为
"fixed-cidr-v6": "2409:8a55:f2d7:10e0::/64"
这是容器获得的地址是:
2409:8a55:f2d7:10e0:0:242:ac11:3
而刚才是:
2001:db8:1::0:242:ac11:3
依然都 ping 不通。
然后我用 docker 创建一个 Ubuntu 容器。在里面
ping6 ipv6.baidu.com
也是不行……
然而用电脑是可以的。
为此我又到服务器上面去试,结果还是一样,容器里面的 ipv6 根本就没法用。
特此才来发帖求助,求大佬解答,感激不尽。
1
qq296015668 2020-12-06 13:38:38 +08:00 1
$ vi /etc/docker/daemon.json
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" } 这里的部署是正确的,如果你想用 ipv6 nat 的话,添加下面一条命令就行 $ ip6tables -t nat -A POSTROUTING -s 2001:db8:1::/64 -j MASQUERADE # 这里的 2001:db8:1::/64 地址是上面 /etc/docker/daemon.json 的 fixed-cidr-v6 内容,根据实际情况修改 这样你的容器就能访问 ipv6 地址了,这里的 2001:db8:1::/64 是内部地址,和 ipv4 一样,实际都是使用宿主的 ip 去访问的 我也是遇到这个问题然后搜索到这个提问,希望能帮到有需要的人 |