[英]Spring Boot application cannot run in Docker
我正在構建一個 Spring 引導應用程序以提供一些 REST 服務,我想將其導入 Docker 中。 如果我在 IntelliJ 中按運行按鈕運行我的應用程序,我可以正確加載端點。
我的應用程序正在偵聽端口 8091,因為我的 dockerfile 如下
FROM openjdk:11
ADD out/artifacts/web_services_main_jar/web_services.main.jar lib_image.jar
EXPOSE 8091
ENTRYPOINT ["java","-jar","lib_image.jar"]
構建和運行 docker 容器的代碼如下
docker build --build-arg JAR_FILE=out/artifacts/web_services_main_jar/web_services.main.jar -t lib_proj .
docker run -p 8090:8091 lib_proj
問題是當應用程序在 docker 中運行並且我嘗試在瀏覽器中加載“localhost:8090/user”時,chrome 返回 ERR_EMPTY_RESPONSE 消息。
如果我打開 Docker 並打開容器的 CLI 並運行
curl localhost:8091/user
即使在這里打印錯誤“卷曲:(7)無法連接到本地主機端口8091:連接被拒絕”。 有什么建議嗎?
編輯:我的 application.properties 已經指定了地址和端口,如下所示:
server.address=0.0.0.0
server.port=8091
好的,我發現的解決方法是將所有端口保留為默認的 8080。所以我將 dockerfile 中的 8091 和“docker run ...”命令中的 8090 替換為 8080,現在它可以在這里工作。 我假設因為 tomcat 在幕后只聽這個,我正在想辦法改變這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.