栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

docker06-打包部署后端项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker06-打包部署后端项目

一、修改端口,打包

进入人人开源后端项目,执行打包(修改配置文件,更改端口,打包三次生成三个JAR文件)

1、修改数据库配置信息

将数据库连接的ip改成宿主机的虚拟ip:192.168.2.150,如下:
数据库密码:abc123456

2、添加redis集群信息

注释掉原来的单节点信息,添加集群信息:

    cluster:
      nodes:
      - 172.19.0.2:6379
      - 172.19.0.3:6379
      - 172.19.0.4:6379
      - 172.19.0.5:6379
      - 172.19.0.6:6379
      - 172.19.0.7:6379

3、修改端口信息

分别改为6001、6002、6003,进行打包:
进入到工程所在目录:
我这里使用MobaXterm连接本地的:

cd /media/d/renren/renren-fast-master/renren-fast-master

mvn clean install -Dmaven.test.skip=true

第一次打包是有点慢的,注意!!如下就打包成功了

二、安装java镜像 1、下载地址:
链接:https://pan.baidu.com/s/1y_1CffgDr58sj4AvYSrn-Q 
提取码:rwug 

将下载好的镜像上传到/home目录下:

2、导入镜像:

因为我这里已经导入了,就不再导入了:
如果没有导入的执行如下命令进行导入:

docker load < /home/java.tar.gz

给镜像文件改名:

docker tag docker.io/java java
三、创建容器

创建3节点Java容器

#创建数据卷,上传JAR文件

docker volume create j1

#启动容器

docker run -it -d --name j1 -v j1:/home/soft --net=host java

#进入j1容器

docker exec -it j1 bash

#启动Java项目

nohup java -jar /home/soft/renren-fast.jar

​

#创建数据卷,上传JAR文件

docker volume create j2

#启动容器

docker run -it -d --name j2 -v j2:/home/soft --net=host java

#进入j1容器

docker exec -it j2 bash

#启动Java项目

nohup java -jar /home/soft/renren-fast.jar

​

#创建数据卷,上传JAR文件

docker volume create j3

#启动容器

docker run -it -d --name j3 -v j3:/home/soft --net=host java

#进入j1容器

docker exec -it j3 bash

#启动Java项目

nohup java -jar /home/soft/renren-fast.jar
1、j1容器

首先创建一个数据卷:

docker volume create j1

将文件上传到j1数据卷对应的目录下:
启动容器:

docker run -it -d --name j1 -v j1:/home/soft --net=host java

进入j1容器:

docker exec -it j1 bash

启动java项目:

nohup java -jar /home/soft/renren-fast.jar

如下,j1容器以及在j1中项目就运行了
进行测试访问:注意,因为在本地windows环境下搭建,性能较差,部署完成,需要等一会。
日志查看:另开一个窗口,进入容器,在/目录下有一个:nohup.out文件:

http://192.168.2.104:6001/renren-fast/swagger/index.html

如下,可正常生成验证码

2、j2容器(参照j1) (1)修改端口号为6002,重新打包

打包:

mvn clean install -Dmaven.test.skip=true

(2)创建数据卷2,上传文件
docker volume create j2

(3)启动容器
docker run -it -d --name j2 -v j2:/home/soft --net=host java

(4)进入容器启动项目
docker exec -it j2 bash
nohup java -jar /home/soft/renren-fast.jar

3、j3容器(参照j1)省略 (1)修改端口号为6003,重新打包

打包:

mvn clean install -Dmaven.test.skip=true

(2)创建卷,上传文件
docker volume create j3

(3)启动容器
docker run -it -d --name j3 -v j3:/home/soft --net=host java

(4)进入容器启动项目
docker exec -it j3 bash

nohup java -jar /home/soft/renren-fast.jar
四、安装Nginx镜像 1、下载地址:
链接:https://pan.baidu.com/s/1E5oyboiADwu7SQACp1imbw 
提取码:hszc 
2、导入镜像 (1)上传镜像文件导入镜像:

上传镜像文件到/home目录下,然后导入镜像文件

docker load < /home/nginx.tar.gz

(2)创建Nginx容器,配置负载均衡

注意,这里的ip是宿主机的ip!!!
我这里宿主机的ip是192.168.2.104

nginx-n1配置文件下载地址:

链接:https://pan.baidu.com/s/1JgCQjRF1pzTs3O2HTQl8_w 
提取码:eso3 

上传文件到这个目录下:
创建第1个Nginx节点

docker run -it -d --name n1 -v /home/n1/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx

宿主机上/home/n1/nginx.conf配置文件内容如下:

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    10m;

client_body_buffer_size   128k;

proxy_connect_timeout   5s;

proxy_send_timeout      5s;

proxy_read_timeout      5s;

proxy_buffer_size        4k;

proxy_buffers           4 32k;

proxy_busy_buffers_size  64k;

proxy_temp_file_write_size 64k;



upstream tomcat {

    server 192.168.2.104:6001;

    server 192.168.2.104:6002;

    server 192.168.2.104:6003;

}

server {

    listen       6101;

    server_name  192.168.2.104; 

    location / {  

        proxy_pass   http://tomcat;

        index  index.html index.htm;  

    }  

}

}

nginx-n2的配置文件下载地址:

链接:https://pan.baidu.com/s/1Nj3xORTuHf_HuuDbCJ1pug 
提取码:7le6 

上传文件到/home/n2目录下,没有这个目录就创建一下:

创建第2个Nginx节点

docker run -it -d --name n2 -v /home/n2/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx

宿主机上/home/n2/nginx.conf配置文件内容如下:

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    10m;

client_body_buffer_size   128k;

proxy_connect_timeout   5s;

proxy_send_timeout      5s;

proxy_read_timeout      5s;

proxy_buffer_size        4k;

proxy_buffers           4 32k;

proxy_busy_buffers_size  64k;

proxy_temp_file_write_size 64k;



upstream tomcat {

    server 192.168.2.104:6001;

    server 192.168.2.104:6002;

    server 192.168.2.104:6003;

}

server {

    listen       6102;

    server_name  192.168.2.104; 

    location / {  

        proxy_pass   http://tomcat;

        index  index.html index.htm;  

    }  

}

}
五、在Nginx容器安装Keepalived 1、nginx容器n1配置
#进入n1节点

docker exec -it n1 bash

#更新软件包

apt-get update

#安装VIM

apt-get install vim

#安装Keepalived

apt-get install keepalived

#编辑Keepalived配置文件(如下)

vim /etc/keepalived/keepalived.conf

#启动Keepalived

service keepalived start

配置文件如下:

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.2.151
    }
}
virtual_server 192.168.2.151 6201 {
    delay_loop 3
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP
    real_server 192.168.2.104 6101 {
        weight 1
    }
}

nginx容器n1keepalived.conf配置文件下载地址:

链接:https://pan.baidu.com/s/1cZ2fg2wQHIG9jZuYWn4otA 
提取码:4pr9 

上传配置文件到 /home/n1下:

复制宿主机文件到容器中:(apt-get install keepalived)要在容器中先安装keepalived

docker cp /home/n1/keepalived.conf bf4c730be11b:/etc/keepalived/

启动Keepalived

service keepalived start

2、nginx容器n2配置

#进入n2节点

docker exec -it n2 bash

#更新软件包

apt-get update

#安装VIM

apt-get install vim

#安装Keepalived

apt-get install keepalived

#编辑Keepalived配置文件(如下)

vim /etc/keepalived/keepalived.conf

#启动Keepalived

service keepalived start

配置文件如下:

vrrp_instance VI_1 {

    state MASTER

    interface ens33

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 123456

    }

    virtual_ipaddress {

        192.168.2.151

    }

}

virtual_server 192.168.2.151 6201 {

    delay_loop 3

    lb_algo rr

    lb_kind NAT

    persistence_timeout 50

    protocol TCP

    real_server 192.168.2.104 6102 {

        weight 1

    }

}

nginx容器n2keepalived.conf配置文件下载地址:

链接:https://pan.baidu.com/s/1SNkQoOInqMntehTy7q3F0Q 
提取码:bhd6 

上传配置文件到n2下:

复制宿主机文件到容器中:(apt-get install keepalived)要在容器中先安装keepalived

docker cp /home/n1/keepalived.conf 0afad69562f7:/etc/keepalived/

启动Keepalived

service keepalived start

3、进行测试

在浏览器输入如下地址:

http://192.168.2.151:6201/renren-fast/swagger/index.html

如上,说明nginx双击热备就部署好了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号