繁体   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