Docker部署后端及配置集群
1、后端项目打包
1
| mvn clean install -Dmaven.test.skip=true
|
2、安装java镜像
3、创建并启动java容器
1 2 3 4 5 6 7 8 9 10 11
| #创建数据卷,上传JAR文件 docker volume create j1 #启动容器 docker run -it -d --name j1 -v j1:/home/soft --net=host openjdk #进入j1容器 docker exec -it j1 bash #启动Java项目 nohup java -jar /home/soft/你的jar包名字.jar >> home/soft/java.log 2>&1 & #查看日志 tail -100f /home/soft/java.log
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| #同理部署两个后端节点,记得修改好配置文件端口号 docker volume create j2 docker run -it -d --name j2 -v j2:/home/soft --net=host openjdk docker exec -it j2 bash nohup java -jar /home/soft/你的jar包名字.jar >> home/soft/java.log 2>&1 & tail -100f /home/soft/java.log
docker volume create j3 docker run -it -d --name j3 -v j3:/home/soft --net=host openjdk docker exec -it j3 bash nohup java -jar /home/soft/你的jar包名字.jar >> home/soft/java.log 2>&1 & tail -100f /home/soft/java.log
|
4、安装nginx镜像
1
| docker pull nginx:1.25.1
|
5、对应目录创建nginx配置文件
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;
events { worker_connections 1024; }
http { include /etc/nginx/mime.types; default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on; #tcp_nopush on;
keepalive_timeout 65;
#gzip on;
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 3072m; client_body_buffer_size 128k; proxy_connect_timeout 600s; proxy_send_timeout 600s; proxy_read_timeout 600s; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;
upstream tomcat { server 你的ip:8081; server 你的ip:8082; server 你的ip:8083; } server { listen 8888; server_name 你的ip; location / { proxy_pass http://tomcat; index index.html index.htm; } } }
|
指的是前端请求后端8888端口(根据自己的需求修改端口号),nginx根据负载均衡策略转发给8081、8082、8083(根据自己的需求修改端口号)
6、创建并启动nginx容器
1
| docker run -it -d --name n1 -v /home/n1/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx:1.25.1
|
7、整体结构
8、检查
检查云服务器端口开放情况
检查java.log日志运行情况