问题:

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对应的安全组(出入网配置)中是否有对应的端口

linux下docker启动nginx无法访问80端口的更多相关文章

  1. Linux下安装启动nginx的过程

    1.首先将nginx的安装包传到虚拟机里的/home目录下 2.为了方便nginx运行而不影响linux安全需创建组合用户 groupadd -r nginxuseradd -r -g nginx  ...

  2. 虚拟机配置nginx无法访问80端口

    在虚拟机中配置成功并正常启动nginx服务后,但浏览器无法访问服务,原因可能是linux中未开放80端口(nginx默认的端口为80). 1.执行该命令打开端口文件 vi /etc/sysconfig ...

  3. linux下如何启动nginx?

    命令: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ........... [root@localhost sbin ...

  4. windows10下Docker开启nginx服务访问页面没有反应

    网址不要输入localhost,而是输入docker quickstart terminal登陆成功后给你的ip地址.

  5. docker 启动 nginx 访问不了的问题

    使用版本:nginx version: nginx/1.13.8 正使用docker启动nginx容器的时候,一切都很正常,容器也起来了 docker run -dit -p 80:80 --name ...

  6. 将自己的SpringBoot应用打包发布到Linux下Docker中

    目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...

  7. Linux下搭建一个nginx+2tomcat负载均衡环境(转)

    一.安装tomcat 1.将tomcat安装包上传到Linux下: 2.解压2个tomcat,并分别修改名称: 1).解压命令:unzip 2).修改用户名:mv 3.分别修改两个tomcat的端口号 ...

  8. Docker 启动 Nginx

    Docker 启动 Nginx 拉取镜像 docker pull nginx:1.17.9 启动步骤 # 创建 nginx 目录 mkdir -p /usr/local/nginx && ...

  9. Linux下的启动oracle的EM的命令

    Linux下的启动oracle的EM的命令 1.启动数据库 su - oracle $sqlplus / as sysdba sql>startup 2.启动监听 $lsnrctl LSNRCT ...

随机推荐

  1. 【leetcode】802. Find Eventual Safe States

    题目如下: 解题思路:本题大多数人采用DFS的方法,这里我用的是另一种方法.我的思路是建立一次初始值为空的safe数组,然后遍历graph,找到graph[i]中所有元素都在safe中的元素,把i加入 ...

  2. iView栅格的使用

    一般情况下栅格系统都会把每行row分为12列,但是iview是采用了24栅格系统,将区域进行24等分 基础用法 实例代码: <template> <Row> <Col s ...

  3. 51nod1730 涂边

    题目描述 题解 八级sb题 显然可以想到状压 枚举当前的宽度\(I\),设\(f[s]\)表示在当前的宽度下选的竖边的状态为s 再设\(g[s1][s2]\)表示状态s1转移到s2的方案数,枚举中间横 ...

  4. Win10 设置系统时间

  5. mysql 语句积累

    show tables; 显示表 DROP TABLE IF EXISTS emp;删除表

  6. java上传大文件(局域网环境)

    文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦.缺乏交互.用户体验差. 一.前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用 ...

  7. Java——super

    在Java类中使用super来引用基类的成分.   [代码]  

  8. Java——final

  9. (24)Python实现递归生成或者删除一个文件目录及文件

    def removeDir(dirPath): ''' Created by Wu Yongcong 2017-8-18 :param dirPath: :return: ''' if not os. ...

  10. Java基础之方法详解

    方法的所属性 在Java的语言中,方法相当于C语言中的函数,但是它与传统的函数也有着明确的不同:在结构化的语言中,函数是一等公民,整个程序是由一个个函数组成的:但是在面向对象的语言里,类是一等公民,整 ...