我是Docker的新手,我試圖運行默認的tomcat映像。我看到容器正在運行,但是當我嘗試從我的Web瀏覽器中打開容器時,我收到「CONNECTION REFUSED」。無法連接到在Docker中運行的Tomcat(連接被拒絕)
這是怎麼回事?
詳細
我有我的Windows 7 PC上安裝了泊塢工具箱。我從boot2docker的舊版本遷移了我的boot2docker虛擬機。 (它並沒有多少關於它...只是「Hello World」的形象。)
在泊塢快速啓動終端,我可以用下面的命令開始我的新Tomcat容器:
docker run -i -p 8080:8080 --rm tomcat:8-jre8
我能夠驗證Tomcat啓動並使用以下命令運行:
docker ps
docker exec -i <containerId> bash
然後,使用bash shell中:
curl localhost:8080
從這個捲曲中,我找回了預期的HTML響應。
但是,如果我請從泊塢窗快速啓動終端直接捲曲命令:
curl localhost:8080
...我收到「連接被拒絕」。
現在,這裏的東西令人費解......如果我跑
boot2docker ip
...它給我說:「boot2docker-VM」未運行錯誤。當boot2docker VM關閉時,我的容器如何運行?這裏有些事情我真的不明白。
如果我運行「boot2docker up」,我能夠獲得IP地址,但我仍然無法從該IP地址訪問tomcat。
我認爲您可能需要將端口從boot2docker-vm轉發到您的主機。 – rohitkadam19
我打開了Oracle VM VirtualBox Manager,看起來我有兩個虛擬機......一個叫做boot2docker,它被停止,另一個叫做「default」,它正在運行。應該有2個VM嗎?或者是因爲我從舊的boot2docker版本遷移過來的?我應該刪除它們並使boot2docker創建一個新的?我如何讓boot2docker默認做正確的事情,所以我不必惹惱VirtualBox中的設置? – RMorrisey
我會說,清理一切。是的,當您在Windows和Mac上安裝boot2docker時,它會爲您提供虛擬機,並在該虛擬機docker守護程序內運行。 Boot2docker應該處於運行狀態。 – rohitkadam19