如何从本地浏览器访问在jenkins docker实例中运行的AWS EC2 docker tomcat实例

我有一个jenkins实例运行在一个docker容器内,它正在端口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 

请提供您的build议。

这听起来像你的docker run命令只需要暴露您的嵌套tomcat服务器上运行的端口。

为此,您需要将-pparameter passing到您的命令中。 -p参数用于将主机端口绑定到泊坞窗容器的端口:

 -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安全组将允许stream量到端口8383。

编辑:更新答案,以反映我们在评论中讨论的决议。 编辑

我可以通过在URL中指定端口并打开EC2实例中的端口来启动tomcat。

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