如何从本地浏览器访问在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服务器上运行的端口。
为此,您需要将-p
parameter 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