定制加工
springboot项目(jar)部署(docker离线版)
2025-01-03 03:24

正常情况,生产环境有可能是离线环境,那么就先按照《CentOS7离线环境安装Docker-CE各种版本》一文进行安装docker

上传或把各应用的镜像到服务器上,所需镜像我打包放在档案管理部署.zip解压后的档案管理部署/镜像/目录下

 
 
 

可以看到,jw-mysql的镜像已经加载出来了,下面就开始运行mysql容器了

 

解释一下

  • –restart=always 总是启动,相当于开机自动重启
  • –name jw-mysql 代表容器的名称,方便后续的操作
  • -p 3306:3306 代表端口映射,格式为 宿主机映射端口:容器运行端口
  • -v /apps/mysql/mysql.conf.d:/etc/mysql/mysql.conf.d 映射mysql配置文件所在目录,方便后期修改配置文件
  • –privileged=true 因为如果CentOS7中的安全模块selinux把权限禁掉了,我们需要添加这个参数来解决挂载目录没有权限的问题
  • -e MYSQL_ROOT_PASSWORD=你的数据库密码 代表添加环境变量MYSQL_ROOT_PASSWORD是root用户的登陆密码

验证一下

至此,mysql在docker中的部署已经成功

修改Jaf系统对应的MySQL数据库配置,对应jaf系统中的配置文件application.properties,该文件在/jaf/src/main/resources/filters/对应模块文件夹/application.properties、/jaf/src/main/resources/application.properties 两处,都需要修改配置,如下图

vsftp和nginx、rsync封装到了一起,所以,现在开始加载ftp和nginx的镜像jw-ftp

 

可以看到,jw-ftp的镜像已经加载出来了,下面就开始运行jw-ftp容器了

 

解释一下

  • –restart=always 总是启动,相当于开机自动重启
  • –name jw-ftp 代表容器的名称,方便后续的操作
  • -p 80:80 代表端口映射,格式为 宿主机映射端口:容器运行端口,这里映射的是nginx默认的端口号80
  • -p 20020:20 这里映射的是vsftp 的端口号20到20020 我这边本机的20端口已被占用,所以映射到20020
  • -p 20021:21 这里映射的是vsftp 的端口号21到20021 我这边本机的20端口已被占用,所以映射到20021
  • -p 21100-21110:21100-21110 映射的是被动模式下端口使用范围
  • -v /home/vsftpd:/home/vsftpd 进行文件目录的映射 FTP_UESR 和FTP_PASS如果设定了会在container里面的/vsftpd/virtual_users.txt
  • –privileged=true 因为如果CentOS7中的安全模块selinux把权限禁掉了,我们需要添加这个参数来解决挂载目录没有权限的问题
  • -e FTP_USER=jw -e代表配置环境变量,这里是设置FTP的用户名
  • -e FTP_PASS=jw2019 -e代表配置环境变量,这里是设置FTP的密码
  • PASV_ADDRESS指的的宿主机的IP地址

还没完,进入jw-ftp容器中

 

修改nginx配置

重启nginx服务器,先进入/etc/nginx目录,执行,校验一下

 

验证一下:我使用的FileZilla软件+Chrome浏览器测试

我们打开浏览器看看,可以看到ftp部署成功

同步服务

查看是否安装了rsync,默认我们的镜像是封装了rsync,这里做个确认

 

后续的同步服务未完善,待续……

至此,文件服务器也部署成功

修改Jaf档案系统中对应的FTP配置,对应jaf系统中的配置文件application.properties,该文件在/jaf/src/main/resources/filters/对应模块文件夹/application.properties、/jaf/src/main/resources/application.properties 两处,都需要修改配置,如下图

es比较大,加载过程比较慢,耐心等待

 

可以看到,es-ik和es-head的镜像已经加载出来了,下面就开始运行这两个容器

 

解释一下

  • –restart=always 总是启动,相当于开机自动重启
  • –name es-ik 代表容器的名称,方便后续的操作
  • –name es-head 代表容器的名称,方便后续的操作
  • -p 9100:9100 代表端口映射,格式为 宿主机映射端口:容器运行端口
  • -e “discovery.type=single-node” 环境配置,单节点模式

验证一下

在本机浏览器输入http://IP:9100,如果出现如下图信息表示成功,否则检查一下防火墙是否打开了或者端口号没开放,在主机上curl IP:9100检查宿主机上是否可以,否则删除原来的容器,重新创建容器再试试

至此,搜索引擎部署成功

修改Jaf档案系统中对应的ES配置,对应jaf系统中的配置文件application.properties,该文件在/jaf/src/main/resources/filters/对应模块文件夹/application.properties、/jaf/src/main/resources/application.properties 两处,都需要修改配置,如下图

前期准备

  1. 一台服务器,装好Docker
  2. 下载GeoWebCache最新版war包 地址
  3. 下载瓦片 下载教程

如图:GeoWebCache.war、瓦片包,这里可以用我给大家准备的,下载地址 点我 ,当然,你可以自己去官网下载,本教程编写时最新版本是:1.15.2版本

瓦片包解压出来是这样的

部署

加载Tomcat镜像

 

运行gwc容器

 

解释一下

  • –restart=always 总是启动,相当于开机自动重启
  • –name gwc 代表容器的名称,方便后续的操作
  • -p 9001:8080 代表端口映射,格式为 宿主机映射端口:容器运行端口,这里映射的是tomcat默认的端口号8080
  • -v /apps/jack/webapps:/usr/local/tomcat/webapps 进行war包存放路径的映射
  • -v /apps/jack/map:/usr/map 后续cache、defaultCache、layers三个目录存放位置映射
  • -v /apps/jack/temp/geowebcache:/usr/local/tomcat/temp/geowebcache geowebcache.xml配置文件存放位置,方便后续操作
  • –privileged=true 因为如果CentOS7中的安全模块selinux把权限禁掉了,我们需要添加这个参数来解决挂载目录没有权限的问题

将资料包上传到服务器

将war包拷贝到webapps下(/apps/jack/webapps/)

 
 
 
 
 
 

重启gwc容器

 

在本地浏览器输入地址:http://192.168.142.128:9001/geowebcache 访问,如下图,成功了

配置文件

在开始配置文件之前,先停掉gwc容器

 

进入webapps,删除.war包,删除之前确认已经停掉gwc容器

 

进入项目目录WEB-INF

 
 

在文件最后增加如下红框内容,标签内容指向的是要映射的缓存路径,修改完成,保存

红框内容

 

修改第三个配置文件 这个文件就在上图第二步中value内容所在路径下,因为我们映射出来了,所以进入 /apps/jack/temp/geowebcache/ 这个目录根据自己映射的路径去进入

修改 文件

删除最后面标签内的所有内容,替换成如下红框的内容,保存

红框内容

 

OK,配置文件都修改完成,重启gwc容器

 

出现如下图,表示成功了一半,嘿嘿嘿

写了个Demo测试是否部署成功

修改demo目录下index.html中的这一行,如图红框中,ip:端口号(你的gwc访问

修改Jaf系统对应的地图,对应jaf系统中的配置文件application.properties,该文件在/jaf/src/main/resources/filters/对应模块文件夹/application.properties、/jaf/src/main/resources/application.properties 两处,都需要修改配置,如下图

先将java:8镜像加载出来

 

根据以上部署的应用,配置好jaf项目中的配置信息,然后打包成jar包,上传到服务器上

在jar包所在目录下,创建Dockerfile文件

并添加如下内容

 

解释一下

  • FROM 格式为FROM image或FROM image:tag,并且Dockerfile中第一条指令必须是FROM指令,且在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令。
  • java:8 是使用jdk版本
  • MAINTAINER 格式为MAINTAINER user_name user_email,指定维护者信息
  • VOLUME 格式为 VOLUME [“/data”] 作用是创建在本地主机或其他容器可以挂载的数据卷,用来存放数据。
  • ADD 格式:ADD src dest 该命令将复制指定本地目录中的文件到容器中的dest中,src可以是是一个绝对路径,也可以是一个URL或一个tar文件,tar文件会自动解压为目录,这里我们放的是跟Dockerfile同一目录的jar包
  • jaf-0.0.2-SNAPSHOT.jar是使用jar包名称
  • ADD jaf-0.0.2-SNAPSHOT.jar /jaf.jar 拷贝jar到容器
  • ENTRYPOINT 格式有两种
    ENTRYPOINT [“executable”,“param1”,“param2”]
    ENTRYPOINT command param1,param2 会在shell中执行。
    用于配置容器启动后执行的命令,这些命令不能被docker run提供的参数覆盖。和CMD一样,每个Dockerfile中只能有一个ENTRYPOINT,当有多个时最后一个生效

生成镜像

 

:jaf是生成的镜像名称,最后面的表示当前路径

运行容器

 

解释一下

  • –restart=always 总是启动,相当于开机自动重启
  • -p 8080:8080 代表端口映射,格式为 宿主机映射端口:容器运行端口
  • –name jaf 代表容器的名称,方便后续的操作
  • -v /var/logs:/var/logs 映射jaf项目的日志文件所在目录,方便在宿主机查看日志

最后,验证一下:在浏览器输入你docker所在宿主机的IP:映射出来的端口号(我的是8080)访问出现如下图表示成功

    以上就是本篇文章【springboot项目(jar)部署(docker离线版)】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/19501.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
华为Mate 60大降价!仅4699元入手华为手机降价「华为Mate 60大降价!仅4699元入手」
促销大降价!现仅需5199元就能入手一款高性能的手机。这款手机的设计风格与以往的Mate系列相似,共有四种颜色可供选择。机身采用
保险资金上调入市比例
  新华社北京4月8日电(记者李延霞、张千千)金融监管总局8日对外发布《关于调整保险资金权益类资产监管比例有关事项的通知》
清明假期北京60个重点商圈客流量同比增长11.4%
北京商报讯(记者 胡静蓉)4月6日,北京市商务局发布清明假期消费市场数据显示,假期三天,市商务局重点监测的百货、超市、专业
我爱我家:去年营收125.4亿元,核心城市市占率继续提高
4月9日,房地产经纪企业我爱我家控股集团有限公司(000560.SZ)发布2024年财报。数据显示,2024年,我爱我家实现住房总交易额(g
华为开发者模式关闭教程:步骤与注意事项华为手机开发者选项在哪里「华为开发者模式关闭教程:步骤与注意事项」
华为手机开发者模式关闭教程很多使用手机的朋友在开发或者测试应用时,需要用到华为手机的开发者模式。但在使用完毕后,出于安全
苹果手机怎么关掉振动苹果手机勿扰模式怎么关闭「苹果手机怎么关掉振动」
苹果手机关闭振动的教程苹果手机提供了多种方式来关闭振动,以满足不同用户的需求。以下是详细的步骤指导:方法一:通过控制中心
窦唯的结局,早已注定
“人潮人海中,有你有我,相遇相识相互琢磨。”窦唯隐退多年,娱乐圈中仍然有他的传说。他是唯一一个在纷乱繁杂的演艺圈里,被用
生化危机4:白金版生化危机4手机版「生化危机4:白金版」
游戏介绍:We've given Resident Evil 4 the Platinum treatment! This update contains the COMPLETE Resident Evil 4 saga
投资者大规模撤出原油看跌基金,创2020年以来最大资金外流
智通财经APP获悉,一只与原油市场下跌挂钩的交易型开放式产品(ETF)刚刚经历了自2020年以来最大规模的资金外流。随着原油价格暴跌
对美加征84%关税!中方坚决反制再出“组合拳”
美国东部时间4月8日,美方将此前宣布的对中国输美产品加征34%所谓“对等关税”,进一步提高50%至84%。国务院关税税则委员会今天