问题:

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. Python3 install pip

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/12033910.html curl https://bootstrap.pypa.io/get-pip. ...

  2. 用设计模式来替代if-else

    前言 物流行业中,通常会涉及到EDI报文(XML格式文件)传输和回执接收,每发送一份EDI报文,后续都会收到与之关联的回执(标识该数据在第三方系统中的流转状态).这里枚举几种回执类型:MT1101.M ...

  3. 如何在ASP.NET Core中上传超大文件

    HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...

  4. Codeforces Round #351(Div 2)

    熬到半夜打结果前一个小时提交代码的页面根本加载不进去,D题写完还因为小点没判被hack掉了... rating什么的都是身外之物了,于是乎喜闻乐见地又掉回绿名了. A题: *题目描述: Bear看一场 ...

  5. windows10 ubuntu子系统 WSL文件位置

    windows10 的linux子系统(windows subsystem for linux)WSL 文件位置 以我的系统为例,WSL的root目录对应windows的: C:\Users\xiao ...

  6. 前端开发学习笔记 - 1. Node.JS安装笔记

    Node.JS安装笔记 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an ...

  7. p4841 城市规划

    分析 https://www.luogu.org/blog/DRA/solution-p4841 代码(似乎附赠了一个全家桶呢) #pragma GCC optimize(2) #pragma GCC ...

  8. 剑指 Offer——最小的 K 个数

    1. 题目 2. 解答 2.1. 方法一--大顶堆 参考 堆和堆排序 以及 堆的应用,我们将数组的前 K 个位置当作一个大顶堆. 首先建堆,也即对堆中 [0, (K-2)/2] 的节点从上往下进行堆化 ...

  9. leetcode 720. 词典中最长的单词

    /* 1.hashtable 把每个字符串都放到hashtable中 a.排序 长度不同,长的放在前面,长度相同,字典序小的放在前面 b.不排序 遍历数组,对于每个字符串判断它的所有前缀是否都在has ...

  10. ConcurrentSkipListMap 源码分析

    ConcurrentSkipListMap ConcurrentSkipListMap 能解决什么问题?什么时候使用 ConcurrentSkipListMap? 1)ConcurrentSkipLi ...