启动多个SpringBoot容器
- 1 先准备一个springboot项目
- 2 把SpringBoot项目打成jar包(jar包名称:springboot-mybatis-demo-0.0.1-SNAPSHOT.jar),上传至服务器中
- 我这里使用的是 FinalShell 连接的服务器,直接拖拽可以实现上传
- 我这里使用的是 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"]
- 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
安装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;
}
- 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