簡體   English   中英

如何從本地瀏覽器訪問在 jenkins docker 實例中運行的 AWS EC2 docker tomcat 實例

[英]How to Access AWS EC2 docker tomcat instance running inside jenkins docker instance from my local browser

我有一個在 docker 容器中運行的 jenkins 實例,它正在偵聽端口 8181。

jenkins 實例的示例 URL: http ://ec2-34-155-164-97.us-west-2.compute.amazonaws.com/

我有一個 tomcat docker 實例,它正在監聽 jenkins docker 容器內運行的端口 8383。

我可以從本地瀏覽器訪問 jenkins 實例。 有什么可能的方法可以從本地瀏覽器訪問我的 docker tomcat 實例嗎?

這是我的docker run命令:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker -p 8181:8080 jenkins-dsl 

請提供您的建議。

聽起來您的docker run命令只需要公開您的嵌套 tomcat 服務器正在運行的端口。

為此,您需要將-p參數傳遞到您的命令中。 -p參數用於將主機端口綁定到 docker 容器的端口:

-p <host_port>:<container_port>

您可以傳入盡可能多的-p參數來綁定多個端口。

因此,如果 docker tomcat 服務器Jenkins docker 容器的端口 8383 上運行,那么您可以執行以下操作:

-p 8383:8080

完整命令示例:

docker run -d -it -p 8383:8080 --name tomcatServer docker-tomcat

我假設這將允許您使用提供的示例 URL 訪問 tomcat 服務器,如下所示:

http://ec2-34-155-164-97.us-west-2.compute.amazonaws.com:8383

但是,您必須確保您的 AWS 安全組允許到端口 8383 的流量。

編輯:更新答案以反映我們在評論中討論的決議。 已編輯

我可以通過在 URL 中指定端口並在 EC2 實例中打開端口來啟動 tomcat。

http://ec2-34-155-164-97.us-west-2.compute.amazonaws.com:8383

Tomcat 的最新 Docker 安裝指南明確指出,第一次啟動時會出現此錯誤

You can then go to http://localhost:8888 or http://host-ip:8888 in a browser (noting that it will return a 404 since there are no webapps loaded by default).

這是因為您在 Tomcat 的默認 webapps 文件夾中沒有任何應用程序。 您最新的 Tomcat docker 映像在“webapps.dist”文件夾中具有默認應用程序,您必須將其復制到“webapps”文件夾中。 執行以下命令

#  docker exec -it tomcat-container /bin/bash
#  cd webapps.dist
#  cp -R * ../webapps

“tomcat-container”是您的容器名稱。 現在刷新您的瀏覽器,您將獲得它。 如果不讓我知道

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM