记一次docker springboot无法访问


使用项目中springboot jar包和docker file构建镜像后,run镜像并映射端口,宿主机和浏览器均不能访问;

后排查发现项目application文件中已指定端口10008,故修改了dockerfile中EXPOSE的端口(run 镜像文件的端口可随机),重新构建镜像运行, 容器内部运行 curl://http:localhost:10008 访问成功,宿主机curl://http:容器ip:10008 访问成功,但Windows 浏览器无法访问,将容器IP加入宿主机hosts文件中即解决问题

问题虽然解决了,但原理还需要进一步研究

2020-1-14更新:

由于容器IP是动态变化的,故不能将其加入宿主机hosts文件,在运行容器时配置相关信息即可解决此问题:

docker run --add-host reg.yzd.com:宿主机IP -p 10009:10009 -d 镜像ID

--add-host:必须是 域名:宿主机IP  *域名必须要配置到宿主机hosts文件中

-p 端口必须和dockerfile中一致,因为其他服务需要访问这个域名下对应端口

reg.yzd.com 服务注册域名

附application配置图


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM