2015-09-02 78 views
5

我是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。

+0

我認爲您可能需要將端口從boot2docker-vm轉發到您的主機。 – rohitkadam19

+0

我打開了Oracle VM VirtualBox Manager,看起來我有兩個虛擬機......一個叫做boot2docker,它被停止,另一個叫做「default」,它正在運行。應該有2個VM嗎?或者是因爲我從舊的boot2docker版本遷移過來的?我應該刪除它們並使boot2docker創建一個新的?我如何讓boot2docker默認做正確的事情,所以我不必惹惱VirtualBox中的設置? – RMorrisey

+1

我會說,清理一切。是的,當您在Windows和Mac上安裝boot2docker時,它會爲您提供虛擬機,並在該虛擬機docker守護程序內運行。 Boot2docker應該處於運行狀態。 – rohitkadam19

回答

14

您正在使用碼頭工具箱。 boot2docker已被刪除。現在每個泊塢窗守護進程(VM)由Docker Machine

管理要看到哪些虛擬機正在運行,使用命令

docker-machine ls 

它會告訴你的默認 VM系統上運行的沿其IP地址,您可以通過端口8080從該IP訪問Tomcat。瞭解更多關於docker-machine的信息,瞭解如何管理多個虛擬機等。

+0

謝謝薩欽,你剛剛度過我的一天! :) – jayeff

+0

我的快樂@jayeff :) :) –

相關問題