
上篇文章介紹了如何搭建MySQL的高可以叢集,那麼本文就繼續在這個基礎上我們實作一個具體的SpringBoot項目部署。話不多說,直接開幹!!!
SpringBoot項目部署
咱們一個實際的項目部署情況應該是這樣的。
接下來我們就在MySQL叢集環境的基礎上來完成一個SpringBoot項目的叢集部署操作。網絡位址配置設定為:
1> 建立對應的網絡
docker network create --subnet=172.24.0.0/24 sbm-net
2>建立SpringBoot項目
通過SpringBoot項目整合MyBatis實作CRUD操作,
屬性檔案中配置的jdbc資訊為
# jdbc的相關配置資訊
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.56.10:3306/haproxy-test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.password=123456
# 連接配接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# mybatis給package設定别名
mybatis.type-aliases-package=com.bobo.pojo
#指定映射檔案的位置
mybatis.mapper-locations=classpath:mapper/*.xml
3>對應的項目打成jar包,并上傳到centos7中目錄放在 /tmp/springboot/ 下 然後建立Dockerfile檔案
yum install -y lrzsz
FROM openjdk:8
MAINTAINER bobo
LABEL name="springboot-mybatis" version="1.0" author="bobo"
COPY springboot-mybatis-demo-0.0.1-SNAPSHOT.jar springboot-mybatis.jar
CMD ["java","-jar","springboot-mybatis.jar"]
4>基于Dockerfile建構鏡像
docker build -t sbm-image .
5>基于image建立container
docker run -d --name sb01 -p 8081:8080 --net=sbm-net --ip 172.24.0.11 sbm-image
6>檢視啟動日志docker logs sb01
7>浏覽器通路測試
http://192.168.56.10:8081/user/query8>建立多個容器
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
9>Nginx安裝
我們通過Nginx來實作負載均衡服務
在centos的/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.24.0.11:8080;
server 172.24.0.12:8080;
server 172.24.0.13:8080;
}
include /etc/nginx/conf.d/*.conf;
}
建立容器
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
搞定~是不是很容易呀!快動手操作下吧