• docker(七)SpringBoot集群搭建 Nginx负载


    在这里插入图片描述

    启动多个SpringBoot容器

    • 1 先准备一个springboot项目
    • 2 把SpringBoot项目打成jar包(jar包名称:springboot-mybatis-demo-0.0.1-SNAPSHOT.jar),上传至服务器中
      • 我这里使用的是 FinalShell 连接的服务器,直接拖拽可以实现上传
        在这里插入图片描述
        在这里插入图片描述
    • 3在服务器的 /tmp/springboot/ 目录下创建Springboot的启动配置文件
    FROM openjdk:8
    MAINTAINER lhy
    LABEL name="springboot-mybatis" version="1.0" author="lhy"
    COPY springboot-mybatis-demo-0.0.1-SNAPSHOT.jar springboot-mybatis.jar
    CMD ["java","-jar","springboot-mybatis.jar"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 4 创建SpringBoot的镜像

    docker build -t sbm-image .

    • 5 创建对应的网段,给springboot和nginx使用

    docker network create --subnet=172.24.0.0/24 sbm-net

    • 5 基于创建的springboot镜像 启动容器

    docker run -d --name sb01 -p 8081:8080 --net=sbm-net --ip 172.24.0.11 sbm-image

    • 6 浏览器测试访问

    http://ipclient:8081/user/query (SpringBoot默认提供的访问接口)

    • 7 创建多个SpringBoot容器
    docker run -d --name sb01 -p 8081:8080 --net=pro-net --ip 172.24.0.11 sbm-image
    docker run -d --name sb02 -p 8082:8080 --net=pro-net --ip 172.24.0.12 sbm-image
    docker run -d --name sb03 -p 8083:8080 --net=pro-net --ip 172.24.0.13 sbm-image
    
    • 1
    • 2
    • 3

    安装Nginx 来进行负载均衡

    • 1拉取nginx镜像

    docker pull nginx

    • 2 在服务器的/tmp/nginx下新建nginx.conf文件,并进行相应的配置
    user nginx;
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65; 
    
       
        server {
            listen 80;
            location / {
             proxy_pass http://balance;
            }
        }
        
        upstream balance{  
            server 172.55.0.11:8080;  #这里填写多个SpringBoot的网段IP
            server 172.55.0.22:8080;
        }
        include /etc/nginx/conf.d/*.conf;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 3 启动Nginx 容器

    docker run -d --name my-nginx -p 80:80 -v /tmp/nginx/nginx.conf:/etc/nginx/nginx.conf --network=pxc-net --ip 172.24.0.10 nginx

    • 4 测试成功(默认80端口,不用填写端口信息)

    http://39.108.153.252/user/query

    在这里插入图片描述

  • 相关阅读:
    改进的萤火虫优化算法(Matlab代码实现)
    BCG ribbon在对话框中使用
    js如何遍历对象的key和value
    产品外观设计成本的组成,你知道吗?
    android 逆向去广告工具和流程
    spring 扩展点之后置处理器(PostProcessor)及Aware接口
    2023 ICCV和 CVPR论文集合
    《持续交付:发布可靠软件的系统方法》 - 目录
    万字详解PHP+Sphinx中文亿级数据全文检索实战(实测亿级数据0.1秒搜索耗时)
    Scrapy Splash--appinum-->介绍-环境配置
  • 原文地址:https://blog.csdn.net/weixin_40869022/article/details/128127028