我在数字海洋上的Ubuntu 16.04上运行了docker容器。他们工作得很好,但有一天(我认为它发生在 TOR1 Droplet Reboot 2018-02-28 16:00 UTC [幽灵和崩溃缓解] 但是我不确定)他们已经失去了他们的互联网连接,我不知道为什么以及如何使它工作 我从其他答案尝试了许多不同的解决方案但没有成功。 我尝试了this问题的答案,试图禁用 ufw ,尝试重新启动操作系统。我甚至试图更新Docker和Ubuntu,希望它最终能够工作,但事实并非如此 我怀疑它可能是 iptables 的问题,但我不知道如何处理它 名为 iptable.rules.sh 的服务器上有一个 sh 脚本,其中包含以下内容:
#/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 ,但我不能因为链接容器。
所以我很难过并向你求助。
答案 0 :(得分:0)
问题在于Docker更新,实例重新启动以及由前一个维护者创建的/etc/docker/daemon.json
文件{"iptables": false}
。这些事情彼此重叠。
我找到了解决方案in this answer 或者更多描述in this article。