zoukankan      html  css  js  c++  java
  • linux下docker启动nginx无法访问80端口

    问题:

    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 80 -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 80 -j ACCEPT

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

    systemctl restart docker

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

  • 相关阅读:
    ubuntu下python的错误
    Zookeeper(二) zookeeper集群搭建 与使用
    Zookeeper(一) zookeeper基础使用
    MapReduce(五) mapreduce的shuffle机制 与 Yarn
    MapReduce(四) 典型编程场景(二)
    Mysql(一) 基本操作
    MapReduce(三) 典型场景(一)
    MapReduce(二)常用三大组件
    MapReduce(一) mapreduce基础入门
    Hive(六)hive执行过程实例分析与hive优化策略
  • 原文地址:https://www.cnblogs.com/lyc94620/p/11783080.html
Copyright © 2011-2022 走看看