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
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、在浏览器测试,考虑服务器的安全组或防火墙是否放行:
如果本文对你有帮助的话记得给一乐点个赞哦,感谢!
本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/16420488.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2021-06-28 (每天学一道)力扣算法:146题LRU缓存机制