问题:

Linux安装了docker,docker启动了一个nginx容器,通过 80 端口无法正常访问

故障排查:

1、检查 nginx 容器启动的命令或者yaml文件,查看是否有跟本机端口进行绑定

启动nginx容器的时候,需要将本地的80端口(其他端口同理)跟nginx容器80端口(也可以是其他端口绑定)进行绑定,这样的话访问本地80端口才能正常跳转到nginx容器对应的端口

2、容器启动之后,运行:

docker ps -a

查看容器的启动状态以及对应端口的绑定情况

3、查看linux端口的使用情况,运行:

netstat -ntlp

查看linux对应的端口(80端口)是否处理正常监听的状态

4、查看防火墙,运行:

iptables -nvL

查看里面是否有80端口,若没有的话,进行4.1、4.2步骤

  4.1、查看linux上是否有/etc/sysconfig/iptables这个文件,有的话,vim进行修改,查看是否有80端口,没有的话加上

-A INPUT -m state --state NEW -m tcp -p tcp --dport  -j ACCEPT

  上面这行代码放在 “-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT” 这一行之后就行,意思是暴露80端口

  修改完成之后,重启下防火墙,运行:

service iptables restart

  4.2、可能部分 CentOs7 以后的 linux 机器没有 /etc/sysconfig/iptables 这个文件的话,直接运行:

iptables -I INPUT -p tcp --dport  -j ACCEPT

Tips:重启iptables后,要重启下docker,再启动你的nginx容器

systemctl restart docker

5、若是云主机,还要去看下ECS对应的安全组(出入网配置)中是否有对应的端口

最新文章

  1. [转]Oracle存在则更新,不存在则插入
  2. failed to push some refs to 'git@github.com:***.git' hint: Updates were rejected b
  3. (翻译)正确实施DevOps-The Lay of the Land
  4. Java并发编程:进程和线程之由来
  5. [再寄小读者之数学篇](2014-11-26 广义 Schur 分解定理)
  6. PE制作实录 —— 补充说明
  7. bzoj列表2
  8. 单机c/s软件如何让老板在异地看销售营业报表
  9. Nginx工作原理和优化、漏洞(转)
  10. 改进Android语音对讲系统的方法
  11. crontab 配置文件
  12. 福州大学软件工程1816 | W班 第1次作业成绩排名
  13. python argparse sys.argv
  14. 关于《SQLSERVER走起》微信账号自动回复功能的升级
  15. c#中用lua脚本执行redis命令
  16. python 之禅 import this
  17. org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI
  18. mysql数据库中查看某个视图的定义的SQL语句
  19. 记一次jvm异常排查及优化
  20. winform代码生成器(二)

热门文章

  1. es6的...用法
  2. python 布尔判断并做需要的返回值
  3. 【bzoj3262】陌上花开
  4. 01-pandas基础-Series与DataFrame
  5. 物联网消息队列协议MQTT
  6. slider组件
  7. React-Native 之 GD (十)Android启动页面 及 模态方式跳转
  8. CentOS7 安装Kafka
  9. Redis hash 是一个 string 类型的 field 和 value 的映射表.它的添加、删除操作都是 O(1)(平均)。
  10. python-网络编程requests模块