Docker暴露端口服务器公网IP无法访问问题排查

news/2024/11/20 13:27:10/

目录

  • 一、未打开安全组策略
  • 二、防火墙开放端口未设置
  • 三、没有启用IP_FORWARD

环境:阿里云CentOS7 服务器

问题:当启动一个容器向外部暴露端口时,服务器公网IP:端口号无法访问

docker run -d --name nginx01 -p 90:80 nginx

一、未打开安全组策略

暴露给外部的端口需要打开对应的安全组设置,比如这里nginx对外暴露90端口,就需要添加如下的安全组配置
image-20210129121719277


二、防火墙开放端口未设置

首先查看防火墙是否开启,结果为not running表示未开启,则不是防火墙的问题,跳过

# 查看防火墙是否开启
firewall-cmd --state

如果显示running,则继续排查,查看防火墙开放的端口

# 查看防火墙所开放的端口
firewall-cmd --list-ports[root@zsr ~]# firewall-cmd --list-ports
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 3306/tcp 3306/udp 8080/tcp 8080/udp 3355/tcp

也可以用firewall-cmd --list-all查看防火墙的详细信息
image-20210129122719570
我这里的问题就是防火墙未开放90端口,所以要开放防火墙的对外暴露的端口

# 开放90端口(--premanent表示永久添加)
firewall-cmd --permanent --add-port=90/tcp# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

添加完成后再次查看就可以看到90端口被开放
image-20210129122637843


三、没有启用IP_FORWARD

这个问题一般不会出现,默认都是打开的,我们用如下命令查看

# 查看是否启动IP_FORWARD
sysctl net.ipv4.ip_forward

image-20210129122932364
结果为1则表示启动,为0则未启动,用如下命令启动

echo 'net.ipv4.ip_forward = 1' >> /usr/lib/sysctl.d/50-default.conf

执行完成后,重启服务器或使用下面的命令从文件中加载配置:

sysctl -p /usr/lib/sysctl.d/50-default.conf

image-20210129123239065


http://www.ppmy.cn/news/605652.html

相关文章

LeetCode简单题之写字符串需要的行数

题目 我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表…

LeetCode简单题之字符串转化后的各位数字之和

题目 给你一个由小写字母组成的字符串 s ,以及一个整数 k 。 首先,用字母在字母表中的位置替换该字母,将 s 转化 为一个整数(也就是,‘a’ 用 1 替换,‘b’ 用 2 替换,… ‘z’ 用 26 替换&…

Nginx最新版安装教程(Windows+Linux)

目录一、Nginx安装—Windows1. 下载解压2. 启动3. 测试是否启动成功4. 配置监听端口二、Nginx安装—Linux1. 下载解压2. 上传到服务器3. 配置第一步:./configure第二步:make第三步:make install4. 启动一、Nginx安装—Windows 1. 下载解压 …

【PyTorch学习笔记】4:在Tensor上的索引和切片

索引和维度是不同的 负数的索引是从1而不是0开始的 维度和顺向索引取值都是从0开始的 一个维度里面 冒号最左边的值取不到 index_select:第一个参数是指定维度

LeetCode简单题之下载插件

题目 小扣打算给自己的 VS code 安装使用插件,初始状态下带宽每分钟可以完成 1 个插件的下载。假定每分钟选择以下两种策略之一: 使用当前带宽下载插件 将带宽加倍(下载插件数量随之加倍) 请返回小扣完成下载 n 个插件最少需要多少分钟。 注…

Ramsey定理数学

https://blog.csdn.net/qq_41551359/article/details/84036876 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Feynman1999/article/details/76725…

LeetCode简单题之完成一半题目

题目 有 N 位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了 2N 道题目,整型数组 questions 中每个数字对应了每道题目所涉及的知识点类型。 若每位扣友选择不同的一题,请返回被选的 N 道题目至少包含多少种知识点类型。 示例 1&#x…

Node.js 简单入门

目录一. 什么是Nodejs二. Nodejs组成图(对比jdk)三. Nodejs的安装四. 第一个Nodejs程序五. Node实现请求响应六. Node操作MYSQL数据库1. 安装mysql依赖2. 创建数据库3. 新建db.js进行操作4. 运行查看效果一. 什么是Nodejs Node 是一个让 JavaScript 运行在服务端的开发平台&…