curl: (56) Recv failure: Connection reset by peer
  j7QUlAGQXqzh 2023年11月02日 52 0

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


curl: (56) Recv failure: Connection reset by peer_端口号

解决思路

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

curl: (56) Recv failure: Connection reset by peer_配置文件_02


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

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


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

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

curl: (56) Recv failure: Connection reset by peer_端口号_03

  • dockerfile内容:

curl: (56) Recv failure: Connection reset by peer_配置文件_04


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

curl: (56) Recv failure: Connection reset by peer_配置文件_05

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

curl: (56) Recv failure: Connection reset by peer_端口号_06


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

curl: (56) Recv failure: Connection reset by peer_配置文件_07

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


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

curl: (56) Recv failure: Connection reset by peer_配置文件_08


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

curl: (56) Recv failure: Connection reset by peer_端口号_09


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

作者:​​一乐乐​​​,转载请注明原文链接



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  xqA0sOKuvLcb   2023年11月22日   37   0   0 redisDockerredisdocker
  bifOjSxj34Bv   2023年12月07日   37   0   0 nginxDockerdockernginx
  IEgV2R47Wr6T   2023年11月12日   67   0   0 数据mysqldocker
j7QUlAGQXqzh