出于開發目的,我需要能夠從同一網路上的其他機器連接到在 Windows 主機上運行 tomcat 的容器。我在橋接網路上本地運行兩個容器,并在運行它們時從每個容器發布埠。應用程式可以通過訪問,localhost但我無法通過主機的網路名稱或 IP 連接到它們,連接被拒絕。在 Windows 主機上運行 netstat 我看到了正在偵聽的 tomcat 埠127.0.0.1:8080,[::1]:8080僅此而已。沒有機器 IP 或0.0.0.0地址的條目。
我正在使用以下命令運行容器:
docker network create openldap --driver bridge
docker run -d --rm --name openldap -p 1389:1389 --network openldap local-openldap:latest
docker run -p 8080:8080 --env-file local-env --network openldap local-tomcat:latest
我嘗試將0.0.0.0地址顯式添加到 server.xml 中的 Tomcat 配置中
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
address="0.0.0.0"/>
在運行容器時,我嘗試將0.0.0.0地址顯式添加為發布選項的一部分。我為容器運行了 docker port 并查看了條目8080/tcp -> 0.0.0.0:8080,8080/tcp -> :::8080并且我嘗試在不加入我創建的橋接網路的情況下獨立運行 tomcat 容器,但沒有任何改變。為了嘗試隔離到 docker,我運行了一個本地 tomcat 實體,而不是在容器中并且可以訪問。
感覺我缺少一些非常基本的東西,因為 docker 檔案讀給我聽,比如發布埠選項應該默認這樣做,而且我沒有從我一直在嘗試的各種搜索中得到任何相關的命中。認為我在問錯誤的問題。
解決后的其他詳細資訊:使用 dockerd 作為運行時運行 Rancher 桌面時遇到了此問題,事實證明這是問題的根源。
uj5u.com熱心網友回復:
萬一其他人發現了這個,原來這是一個牧場主桌面問題,最近已經修復了https://github.com/rancher-sandbox/rancher-desktop/issues/2677。
安裝了最新的開發版本,它還沒有出現在發布頁面上,這就解決了這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/511505.html
上一篇:在使用@SpringBootTest運行的測驗中定義tomcat屬性
下一篇:5分鐘后空閑的Web服務連接斷開
