Docker 容器无法解析 Ubuntu 上的主机

Docker 容器无法解析 Ubuntu 上的主机

我已经安装了带有最新补丁的 Ubuntu 服务器,并切换到 AT+T,但突然无法从 Docker 容器内部解析外部站点。

如何解决这个问题?

我注意到,当我进行简单的 ping 操作时,AT + T 默认切换为使用 ipv6:

 $ ping debian.org

PING debian.org(mirror-csail.debian.org (2603:400a:ffff:bb8::801f:3e)) 56 data bytes

这很酷,但是我的 Docker 容器现在在网络方面出现故障。

答案1

我发现 ipv6 的猜测似乎是正确的。通过为 Docker 启用 ipv6,我能够再次在 Docker 容器内建立网络。

https://medium.com/@skleeschulte/how-to-enable-ipv6-for-docker-containers-on-ubuntu-18-04-c68394a219a2

首先修改/etc/docker/daemon.json:

{ 
        "ipv6": true,
        "fixed-cidr-v6": "fd00::/80"
}

接下来设置路由:

ip6tables -t nat -A POSTROUTING -s fd00::/80 ! -o docker0 -j MASQUERADE

请注意,您需要保留此信息,因为它将无法在重启后继续存在:

Ubuntu 18.04 上的 Iptables 重新加载/重启

接下来重启docker:

 $ systemctl restart docker

现在您的 Docker 容器应该再次具有 ipv6。

相关内容