Tomcat服務器版本:tomcat-9.0.10
基本上我有一個 docx 檔案托管在我的 tomcat 服務器的 ROOT 檔案夾中。如果我嘗試在瀏覽器上獲取檔案,它可以使用“http://localhost:1212/Manufacturing.docx”。當我嘗試在我的 webapp 的本地構建中使用該檔案時,它可以作業。但是,當我嘗試在托管在 docker 容器上的應用程式中使用“http://localhost:1212/Manufacturing.docx”時,它無法獲取檔案(似乎無法建立連接)。知道為什么我可以在容器外提供檔案但不能在容器內提供檔案嗎?
uj5u.com熱心網友回復:
當您嘗試localhost從容器訪問時,它會決議為容器內的 localhost 而不是主機。
可能的解決方案:
- 如果您使用 Docker 18.03 并且在 Windows / Mac 上,則訪問
host.docker.internal將決議為主機的 127.0.0.1。 - 使用
docker run -d --network=host your-image:tag. 這樣,您的容器將與您的主機共享網路命名空間,并且localhost容器內部將與主機上的相同localhost。
另請參閱:從 Docker 容器內部,如何連接到機器的本地主機?什么是“host.docker.internal”的linux等價物
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/440148.html
