Docker部署Nginx、Tomcat集群

Tomcat集群由多个tomcat组成,使用Nginx的好处是可以实现负载均衡和动静分离。
使用Docker的好处是~~~我们不需要复杂的配置,只需要执行简单的命令就能拉取已有的官方docker镜像,再通过一条命令就能运行我们的实例了。对于多个Tomcat,我们使用相同的镜像,然后使用简单的命令,就能创建不同的tomcat container实例。

Docker部署Nginx、Tomcat集群
1.拉去镜像

$ docker pull tomcat:8-jre8-alpine
$ docker pull nginx:latest
$ docker images

Docker部署Nginx、Tomcat集群
2.创建tomcat文件夹和webapps的交换文件夹,并创建container

$ docker run --name tomcat1 -p 18080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps  -d tomcat:8-jre8-alpine
# cc8d9b8bc8a90d0768df15f94ae2cb37694021cf637d0610d10eaee669b0d5bad
$ docker run --name tomcat2 -p 28080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps  -d tomcat:8-jre8-alpine
# 711e6a6fd1a3f6d088b8b6f527b9c558114bdd5e1592b03a18cb3abaaaf08815

创建nginx文件夹。

$ docker run --name tmp-nginx-container -d nginx
$ docker cp tmp-nginx-container:/etc/nginx/nginx $PWD/conf
$ docker cp mynginx:/usr/share/nginx/html $PWD/html
$ docker cp mynginx:/var/log/nginx  $PWD/logs
$ docker rm -f tmp-nginx-container

运行nginx

$ docker run -p 80:80 -p 8080:8080 --name mynginx -v $PWD/html:/usr/share/nginx/html -v $PWD/conf:/etc/nginx -v $PWD/logs:/var/log/nginx -d nginx

-p 18080:8080:将容器的8080端口映射到主机的18080端口
-v 挂载目录
具体参数命令可自行google,都是些简单的常用命令。

$ docker container ls

Docker部署Nginx、Tomcat集群

  1. 将自己的项目放入本地的webapps目录下
    为了便于区分工程,我的项目主页获取了本地的IP和端口,分别使用18080和28080访问test项目,可以得到如下图所示信息。
    Docker部署Nginx、Tomcat集群
    Docker部署Nginx、Tomcat集群
    4.设置Nginx配置文件
    chrome访问服务器80端口,显示如下:
    Docker部署Nginx、Tomcat集群
    Nginx的配置文件是nginx.conf,打开文件夹,发现里边并没有配置端口等信息,而是有一段:
    include /etc/nginx/conf.d/*.conf;

    这是将conf.d目录下的所有配置文件全部加入进来。其中这个欢迎页面的设置就是在其目录下的一个名叫default.conf的文件中设置的。
    模仿此文件,我们创建自己的tomcat.conf。
    然后自己配置信息相关信息。
    Docker部署Nginx、Tomcat集群

  2. 测试
    输入nginx地址和tomcat server 8080端口.
    Docker部署Nginx、Tomcat集群
    多次输入我们可以发现我们对应的tomcat地址会发生变化,这就是访问到了不同的tomcat。
    Docker部署Nginx、Tomcat集群
    6.后期扩展
    我们可以修改不同的均衡策略,比如修改weight值,和设置备份服务器等方式来实现不同的功能。
    除了负载均衡,我们还可以进行将静态文件和动态文件进行分离,这也是Nginx的重要功能之一。

转载于:https://blog.51cto.com/13981400/2401249

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
部署Tomcat集群,可以使用Docker来快速搭建。下面是一些常用的命令和步骤: 1. 首先,使用Docker创建两个Tomcat容器,可以使用以下命令: ``` docker run --name tomcat1 -p 8081:8080 -d tomcat:latest docker run --name tomcat2 -p 8082:8080 -d tomcat:latest ``` 这将创建两个名为tomcat1和tomcat2的容器,并将它们分别映射到主机的8081和8082端口。 2. 接下来,创建一个docker-compose.yml文件,定义Tomcat集群的配置。在该文件中,可以指定容器的名称、映射的端口、挂载的卷等。一个示例的docker-compose.yml文件如下所示: ``` version: '3' services: tomcat1: image: tomcat:latest ports: - "8081:8080" volumes: - ./test:/usr/local/tomcat/webapps/test tomcat2: image: tomcat:latest ports: - "8082:8080" ``` 3. 运行以下命令,使用docker-compose来启动Tomcat集群: ``` docker-compose up -d ``` 4. 现在,你可以通过访问http://localhost:8081/test和http://localhost:8082/test来访问Tomcat集群中的应用程序。其中,8081和8082是之前映射的端口,test是挂载的卷中的应用程序。 这样,你就成功地使用Docker部署Tomcat集群。通过创建多个Tomcat容器,并使用docker-compose来定义集群的配置,可以实现负载均衡和高可用性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于Nginx的负载均衡,使用Docker搭建Tomcat集群](https://blog.csdn.net/qq_38628046/article/details/106752122)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [微服务项目容器编排docker-compose.yml、Dockerfile文件模板、相关配置文件、shell脚本](https://download.csdn.net/download/qq_45629145/88248761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Docker学习(七)基于DockerTomcat\Nginx\Keepalived集群安装部署](https://blog.csdn.net/weixin_34319374/article/details/92086276)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值