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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 系统中,使用 Docker 启动 Nginx 通常涉及到两个步骤:创建 Docker 容器并配置 Nginx。下面是简单的步骤和示例: 1. **安装 DockerDocker Compose**: 首先,确保你的系统已经安装了 DockerDocker Compose。你可以通过命令 `sudo apt-get install docker.io docker-compose` 或者 `sudo yum install docker-compose` 来安装。 2. **创建 Dockerfile**: Dockerfile 是描述 Docker 镜像构建过程的文本文件。创建一个名为 `Dockerfile` 的文件,内容可能类似这样(假设你的 Nginx 配置文件是 `nginx.conf`): ```Dockerfile FROM nginx:latest COPY nginx.conf /etc/nginx/nginx.conf CMD ["nginx", "-g", "daemon off;"] ``` 这里我们基于最新的 Nginx 镜像,并复制你的 Nginx 配置到容器内,最后执行 Nginx 启动命令。 3. **构建 Docker 镜像**: 在同一目录下运行 `docker build -t your_image_name .` 命令,将 Dockerfile 构建为镜像。`your_image_name` 将是你自定义的镜像名称。 4. **创建 Docker Compose 文件**: 创建一个 `docker-compose.yml` 文件,定义服务和它们之间的依赖关系,例如: ```yaml version: '3' services: nginx: image: your_image_name ports: - "80:80" ``` 这里我们定义了一个名为 `nginx` 的服务,使用刚才构建的镜像,监听主机的 80 端口并将 Nginx 内部的 80 端口映射出来。 5. **启动 Docker 容器**: 在终端中,进入包含 `docker-compose.yml` 的目录,然后运行 `docker-compose up -d`。`-d` 参数表示在后台运行容器(detached mode)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值