国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

瀏覽:8日期:2022-08-26 08:02:51

Jenkins下用DockerFile自動(dòng)部署Java(SpringBoot)項(xiàng)目,簡單自用,勿噴

一、Jenkins構(gòu)建Java(SpringBoot)項(xiàng)目

新建-構(gòu)建一個(gè)Maven項(xiàng)目

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

需要提一下,現(xiàn)在新安裝的沒有這個(gè)選項(xiàng),需要在插件里安裝一下 Maven Integration

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

java配置,其他配置查看以前文章

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

以上配置即可配置完成

二、發(fā)布到服務(wù)器,DockerFile部署自動(dòng)構(gòu)建

Publish SSH配置

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

這里在目標(biāo)服務(wù)器上放了個(gè)shell命令,我這里的web是做了個(gè)Nginx的負(fù)載均衡,所以路徑方面自行修改

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

Dockerfile配置文件,這里就不介紹了

FROM java:8 #java1.8基礎(chǔ)鏡像VOLUME /tmp #創(chuàng)建/tmp目錄并持久化到Docker數(shù)據(jù)文件夾,因?yàn)镾pring Boot使用的內(nèi)嵌Tomcat容器默認(rèn)使用/tmp作為工作目錄MAINTAINER test #作者名稱ADD web-0.0.1-SNAPSHOT.jar test/test_web0.jar #復(fù)制jar到test下且重命名為test_web0.jarEXPOSE 8506 #容器開放端口ENTRYPOINT ['java','-jar','-Djava.security.egd=file:/dev/.urandom','test/test_web0.jar'].#容器執(zhí)行命令

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

刪除、重載鏡像容器等操作shell,這樣做感覺不是太好,以后有更好的辦法在解決

#!/bin/bash -ldocker stop test_web0; #停止容器docker rm test_web0;#刪除容器docker rmi test/test_web0; #刪除鏡像cd /usr/local/wwwroot/test_web/test_web0; #進(jìn)入目錄docker build -t test/test_web0.; #構(gòu)建鏡像 .為當(dāng)前目錄的dockerfiledocker run -t -d --name test_web0-p 192.168.2.1:8506:8506 test/test_web0; #創(chuàng)建容器

Jenkins如何使用DockerFile自動(dòng)部署Java項(xiàng)目

到這jar包就可以訪問了

三、簡單的nginx負(fù)載均衡(docker下,可略)

這里的前提是我們已經(jīng)做好了3個(gè)web站點(diǎn)

首先下載nginx鏡像

docker images nginx

自定義一個(gè)目錄,寫一個(gè)新的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 { #配置如下,3個(gè)WEBserver 192.168.2.1:9006; server 192.168.2.2:9016;server 192.168.2.3:9026;}server { #集中在一個(gè)ip listen 9999; server_name 192.168.2.1; location / { proxy_pass http://tomcat; index index.html index.htm; } } include /etc/nginx/conf.d/*.conf;}

配置完運(yùn)行

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

還可以用keepalived做成高可用的負(fù)載均衡,以后再說

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 乌苏市| 全南县| 高阳县| 南陵县| 双牌县| 茂名市| 铅山县| 英超| 松江区| 海伦市| 诸城市| 怀宁县| 上饶市| 涟源市| 壶关县| 南充市| 龙泉市| 蓝田县| 富锦市| 萨迦县| 兴和县| 乐平市| 芮城县| 商南县| 介休市| 米脂县| 叶城县| 阿瓦提县| 广安市| 大田县| 德庆县| 三河市| 根河市| 旺苍县| 册亨县| 全南县| 买车| 宁安市| 永宁县| 讷河市| 铜梁县|