Docker 容器没有互联网,我已经尝试了很多解决方案

Docker containers have no internet, I've tried many solutions

我在 Digital Ocean 的 Ubuntu 16.04 上有 docker 个容器 运行ning。他们工作得很好,但有一天(我认为它发生在 TOR1 Droplet Reboot 2018-02-28 16:00 UTC [Spectre and Meltdown Mitigation] 之后,但我不确定)他们他们失去了互联网连接,我不知道为什么以及如何让它工作。
我从其他答案中尝试了许多不同的解决方案,但没有成功。 我尝试了 this 问题的答案,尝试禁用 ufw,尝试重启 OS。我什至尝试更新 Docker 和 Ubuntu,希望它最终会起作用,但没有成功。
我怀疑 iptables 可能有问题,但我不知道该怎么办。
服务器上有一个名为 iptable.rules.shsh 脚本,其内容如下:

#/bin/sh
#blow away the DOCKER chain
sudo iptables -F DOCKER

#add http / https
sudo iptables -A DOCKER -p tcp --dport https -j ACCEPT -d 172.17.0.4
sudo iptables -A DOCKER -p tcp --dport http -j ACCEPT -d 172.17.0.4

#loopback for mongodb
sudo iptables -A DOCKER -p tcp --dport 27017 -j ACCEPT -d 172.17.0.2 -i lo

但是当我 运行 它时,它说:

iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.

我可以 运行 具有互联网连接的容器的唯一方法是使用 --net=host,但我不能,因为链接容器。

所以我很困惑并向你寻求帮助。

问题出在 Docker 更新、实例重启以及前维护者创建的 /etc/docker/daemon.json{"iptables": false} 文件中。这些东西相互重叠。

我找到了解决方案 in this answer
或更多描述 in this article.