宿主机 docker 与 nginx 网络无法共存?

新手上路,请多包涵

问题描述

使用 service nginx restart 后,nginx无法接收外网请求
此时,docker 服务正常

问题出现的平台版本及自己尝试过哪些方法

linux Ubuntu 18.04 aarch64

使用 nginx -s reload 后,nginx 和 docker 都正常

确认外部网络可以到达服务器,域名正常,端口正常,curl 可以进行本地服务访问

于是推测网络出现问题。
按照如下教程进行重置网络
https://blog.csdn.net/netingc...

重置后,可以外网可以正常访问 nginx + docker

但是不可能每次编辑 nginx 后都重置网络吧

你期待的结果是什么?实际看到的错误信息又是什么?

重启 nginx 后,网络正常。主要是想搞懂到底是啥原因导致了这个问题的发生,或者是我操作不当?? 请懂的人给个方向。

阅读 3.9k
1 个回答

你这个操作分分钟会出现生产事故,在宿主机上启动docker容器并映射端口到宿主机时docker会自动添加相应的iptables规则,你直接清空iptables规则及有可能导致其上的容器网络异常。按照你的描述有3个比较可能的原因:
1、nginx和docker容器端口冲突;
2、docker容器自动生成的iptables规则拦截了nginx的网络请求;
3、原有自定义iptables规则拦截了nginx的网络请求;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题