zoukankan      html  css  js  c++  java
  • Docker内运行的nginx除了80端口其他端口都无法访问

    请检查nginx容器是否只开启了80端口映射!!!

    请检查nginx容器是否只开启了80端口映射!!!

    请检查nginx容器是否只开启了80端口映射!!!

    环境:

      Docker: 19.03.13 运行在Linux

      Nginx: 1.19.4 运行在Docker

    问题描述:

       作者的nignx配置了两个server块,分别监听80端口与3000端口, 但是实际使用时发现本地电脑只能成功访问80端口,访问3000端口提示无法连接网络;

    在确保了Linux防火墙关闭的情况下排查了一圈,终于发现是nginx容器只开启了80端口映射没有开启3000端口的映射。。。

    解决方法:

      只需要将nginx容器重新配置下端口映射或者重新运行一个nginx容器即可;网上有很多教程,我在这里说一下我修改的方式:

     

    1. 停止nignx容器
    docker stop 你的nginx容器id或者名称
    如: docker stop nginx
    
    
    2. 根据现在的nginx容器重新生成一个镜像文件(数据不会丢失)
    docker commit nginx(你的nginx容器id或者名称) 新的容器名称:tag
    如: docker commit nginx nginx2:6.6
    
    
    3. 启动新的nginx容器
    docker run -d -p 80:80 -p xx端口:xx端口 --name 容器名称 新的nginx容器镜像id/名称
    如: docker run -d -p 80:80 -p 3000:3000 --name nginx c89fa25e901e
    使用数据券方式:
    docker run -d -p 80:80 -p 3000:3000 --name nginx -v /usr/local/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /usr/local/project/:/usr/local/project/ c89fa25e901e

    4. 移除旧的nginx容器(请先确保第三步的新容器成功运行再删除旧容器)
    docker rm 旧容器名称
    如: docker rm nginx 

    现在再访问,成功进入前端项目主页

  • 相关阅读:
    HTML_严格模式与混杂模式
    不要和一种编程语言厮守终生:为工作正确选择(转)
    iOS开发编码建议与编程经验(转)
    UTF-8 和 GBK 的 NSString 相互转化的方法
    UICollectionView 总结
    UIViewController的生命周期及iOS程序执行顺序
    objective-c 中随机数的用法
    clipsToBounds 与 masksToBounds 的区别与联系
    网络请求 代码 系统自带类源码
    iOS CGRectGetMaxX/Y 使用
  • 原文地址:https://www.cnblogs.com/llysc/p/14827741.html
Copyright © 2011-2022 走看看