記一次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