![](/img/trans.png)
[英]How do I enable HTTPS on my AWS EC2 Instance running a Docker Container
[英]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.