• curl (56) Recv failure Connection reset by peer


    Docker 重定向问题:curl: (56) Recv failure: Connection reset by peer

    解决思路

    以下考虑情况,针对的是docker部署springboot项目,我在springboot的配置文件 application.properties 设置了端口为 8848

    1、考虑是不是端口冲突了 ,比如当前运行的项目的端口是8848,然而在项目运行之前已经有一个老项目运行了,且老项目的端口也是8848

    # 查看端口占用情况
    netstat -lntp | grep 8848
    
    • 1
    • 2

    2、考虑项目端口是否忘记暴露了,前提是项目是用dockerfile构建,若是dockerCompose看第三点

    ■ 具体情况如下:可以看到端口位置为空

    • dockerfile内容:

    解决方式1:dockerfile文件中添加上EXPOSE 端口号,且创建启动容器的时候选择端口映射 -p 端口号: 容器端口(expose 8848)

    添加上EXPOSE 端口号暴露的方式,只能暴露给其他容器使用,而无法暴露给主机使用,即curl localhost:端口号 是访问不到的,需要做端口映射 -p 宿主的端口:dockerfile暴露的端口,然后才能在宿主机访问

    3、考虑项目是否存在多种环境的配置文件[application.yml 或 application.properties],例如既有开发环境[application.properties],也有生产环境的配置文件[application-prod.properties],且你的目的是docker运行的配置文件是生产环境的,则需要在打包前需要选择好生成环境的配置文件

    补充一下命令行 -U clean package 的作用:让打包打包得更加完整,避免打包的jar包没能从远程仓库下载完整,出现was cached in the local repository的错误,加上命令行-U clean package

    4、考虑使用-p做端口映射,在测试的时候端口号是否填写正常:

    5、在浏览器测试,考虑服务器的安全组或防火墙是否放行:

    如果本文对你有帮助的话记得给一乐点个赞哦,感谢!

    最后

    深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

    因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

    小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

  • 相关阅读:
    Oracle数据库环境变量配置以及可能遇到的问题解决
    (Note)同比和环比
    计算机网络知识点总结——第三章数据链路层
    hive数据导出
    ubuntu20.04禁止自动休眠的几种方式
    利用UU对GitHub国内加速优化访问
    什么品牌洗地机性价比高?四大出色的王牌机型力荐
    【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细)
    uniapp 高度铺满全屏
    《概念解析》内容汇总 + 导航
  • 原文地址:https://blog.csdn.net/m0_54849806/article/details/126789975