2021年3月30日 星期二

Docker 練習 - 安裝 Tomcat - 設定 virtualBox 的 Port Forwarding

此例使用 Windows 10 + virtualBox + Ubuntu 64bits

# 安裝想要的版本的 tomcat
docker pull tomcat:9.0-jdk11-openjdk

# 啟動 container
docker run -d -p 8080:8080 --name myTomcat tomcat:9.0-jdk11-openjdk

# 因為某些原因 (目前還不清楚),tomcat 的預設歡迎頁面被放到 /usr/local/tomcat/webapps.dist 下而不是 /usr/local/tomcat/webapps 下,
# 所以想要看觀迎頁面可以自己手動把頁面放到 /usr/local/tomcat/webapps 下

# 進入 container 終端 (terminal)
docker exec -it myTomcat bash

# 把觀迎頁面放到 /usr/local/tomcat/webapps 下
cp -r ./webapps.dist/* ./webapps/

# 離開終端
exit

# 在宿主機 (host) 測試是否能得到歡迎頁面的訊息 (應該會是非 404 的頁面)
curl http://localhost:8080


# 如果在 Windows 中想要看到 virtualBox 中的 Linux 的 container 中的歡迎頁面,
# 須要設定 Port Forwarding。
# 我們先要查出"主體 IP" (virtualBox 在 Windows 上使用的網路介面卡上的 IP) 和 "客體 IP" (virtualBox 內部的 Linux 所使用的 內部 IP),然後將它們對應起來。

# 先在 Windows 中使用 ipconfig 指令查出 IP,即"主體 IP",如下圖紅框處


# 再到 virtualBox 中的 Linux 使用 ip address 指今 (hostname -I 也可以)查出"客體 IP",如下圖紅框處

得到"主體 IP"和"客體 IP"後,到 virtualBox 中,
開啟 "設定" --> "網路" --> "附加到" 選 "NAT",按下"連接埠轉送",開始進行設定。
填上剛剛查得的"主體 IP"和"客體 IP"即各自想要對應的 port,"協定" 選擇自己想要的協定,
例如只是要在瀏覽器看到畫面的話,選 TCP 即可,"名稱" 可自訂。

這樣 virtualBox 的 Port Forwarding 就設定好了,可以開始來測試觀迎畫面。
在 Windows 中打開瀏覽器,網址輸入
http://{"主體 IP"}:{port}
例如此例為:
http://192.168.56.1:8080
就可以看到 Tomcat 的歡迎畫面了,如下圖:


參考資料:

沒有留言 :

張貼留言