使用fixed-cidr-v6更改全局IPv6地址与docker

use*_*975 5 ipv6 docker

为了在我的 docker 设置中启用 IPv6,我已在文件中进行了设置/etc/docker/daemon.json

{
"ipv6": true,
"fixed-cidr-v6": "2a01:xxxx:yyyy:zzzz/64"
}
Run Code Online (Sandbox Code Playgroud)

我从我的 ISP 处获得2a01:xxxx:yyyy:zzzz并通过 找到它ip addr | grep inet6 | grep global

我的 ISP 不断改变该zzzz位,并且在重新启动路由器时它也会改变。

问题:

  • A)是否有不需要硬编码更改值的 docker 设置?(想法:设置fixed-cidr-v6为某些链接本地值fd00:...
  • B) 我可以使用动态 DNS 客户端来更新我的域 AAAA 记录。但同样,IPv6 在我的本地设置中是硬编码的。
  • C) Docker 在现实世界中似乎无法与 IPv6 一起使用。我是否必须直接在反向代理后面的主机上(而不是在容器中)运行我的应用程序?

djs*_*dog 2

如果您无法获得静态 IPv6,那么您想要为 Docker 容器分配全局范围(公共)IPv6 地址将会很困难。我编写了有关在 Docker 中使用公共 IPv6 地址的指南,但它确实依赖于静态 IPv6 地址(通常在托管环境中的虚拟机上可用)。

另一种方法是使用Docker IPv6Nat 守护进程

我更喜欢这种技术,因为它使 IPv4 和 IPv6 堆栈在 Docker 内保持一致。我写了另一篇关于完全隔离具有 IPv4 和 IPv6 支持的 Docker 的入口和出口网络的教程