Bra*_*bad 1 docker docker-compose ubuntu-18.04
我开始学习如何使用 Docker 和 docker-compose,每次重新启动计算机时,我都会在执行 docker-compose up 时收到此消息:
使用默认驱动程序创建网络“dockerlemp_default”
错误:无法对过滤器链进行编程:iptables 失败:iptables --wait -I FORWARD -o br-74bd0d3628e8 -j DOCKER:iptables v1.6.1:无法加载目标“DOCKER”:没有这样的文件或目录
尝试“iptables -h”或“iptables --help”以获取更多信息。
一旦通过执行命令禁用防火墙sudo ufw disable并且通过命令重新启动 docker 服务systemctl restart docker,我就可以正常启动我的 docker-compose。但我每次重启都必须这样做。
有人可以解释一下 iptables 的问题是什么以及如何解决这个问题吗?非常感谢。
仅供参考,这是我的设置:
联想 Ideapad 510S-08ISH - Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
Ubuntu 18.04.3 LTS Bionic(窗口管理器 i3wm)
码头工人 18.09.7
docker-compose 1.17.1
最后的 Docker 版本确实iptables以足够正确的方式操纵 with 的规则,即使在 Debian/Ubuntu 上也是如此(你不使用selinux,是吗?)。所以这个错误意味着某些库/配置已损坏。请尝试以下步骤:
DOCKER出现在iptables的规则中 ( iptables --list-rules | grep '\-N\ DOCKER')。如果没有,则可以将命令添加iptables -N DOCKER到if-pre-up脚本 ( /etc/network/if-pre-up.d/iptables)。这只是解决方法,更好的解决方案是重新安装iptables和/或docker后者取决于您的安装方式。也许改变方法是有意义的(apt-get install docker.io相反wget -qO- https://get.docker.com/ | sh,反之亦然)。在这种情况下,请不要忘记先卸载 Docker。DOCKER存在链,则检查脚本中是否有iptables-restore命令if-pre-up(通常/etc/network/if-pre-up.d/iptables)。如果是,则尝试重新创建源文件,iptables-restore甚至临时禁用iptables-restore。/etc/docker/daemon.json和/etc/default/docker)。也许某些应用程序在那里编写了一些不需要的选项。| 归档时间: |
|
| 查看次数: |
8922 次 |
| 最近记录: |