当前位置: 首页 > news >正文

顺德网站设计手机网站域名

顺德网站设计,手机网站域名,做电商怎么建网站,案例剖析网站Docker部署jar 实现功能 部署springboot下发布的jar包不同docker容器之间通信#xff08;如MySQL访问、Redis访问#xff09;多个jar包部署 参考文献 Just a moment… Just a moment… https://www.jb51.net/article/279449.htm springboot配置 这里使用多yaml配置文件…Docker部署jar 实现功能 部署springboot下发布的jar包不同docker容器之间通信如MySQL访问、Redis访问多个jar包部署 参考文献 Just a moment… Just a moment… https://www.jb51.net/article/279449.htm springboot配置 这里使用多yaml配置文件这样子我们在服务端就可以使用java -jar时附带参数来选择性的使用对应的配置文件 注意下面三个文件所有内容都必须是完整的也就是说我们后续是直接选择其中的一个配置文件进行启动不会用到其他剩下的几个配置文件 application默认配置文件我们进行本地调试的时候使用MySQL地址直接写localhostapplication-dev这个不要管我随便写的application-pro生产环境配置文件MySQL地址写桥接对象容器的地址我这里使用的是我开启的MySQL容器名mysql8这里后续会讲解为什么这么做 application.yaml server:port: 10085spring:datasource:url: jdbc:mysql://172.18.0.2:3306/esp?characterEncodingutf-8serverTimezoneUTCusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driverhikari:maximum-pool-size: 100minimum-idle: 10 # swagger基本配置 springdoc:swagger-ui:path: /swagger-ui.htmltags-sorter: alphaoperations-sorter: alphaapi-docs:path: /v3/api-docsgroup-configs:- group: defaultpaths-to-match: /**packages-to-scan: io.zhiller.zercardpacket.controller # knife4j的增强配置不需要增强可以不配 knife4j:enable: truesetting:language: zh_cnapplication-pro.yaml server:port: 10085spring:datasource:url: jdbc:mysql://mysql8:3306/esp?characterEncodingutf-8serverTimezoneUTCusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driverhikari:maximum-pool-size: 100minimum-idle: 10 # swagger基本配置 springdoc:swagger-ui:path: /swagger-ui.htmltags-sorter: alphaoperations-sorter: alphaapi-docs:path: /v3/api-docsgroup-configs:- group: defaultpaths-to-match: /**packages-to-scan: io.zhiller.zercardpacket.controller # knife4j的增强配置不需要增强可以不配 knife4j:enable: truesetting:language: zh_cn之后按照顺序依次点击maven对应生命周期指令在我们每次修改代码后要上传到服务器时都必须完整的再走一遍这个步骤 之后你就会在项目根目录下的target文件夹内找到编译好的jar包 我这里把jar包命名为 zer-backend.jar 特别注意这里还需要我们删去一些内容 打开pom.xml 在mainClass标签下有一个skip标签必须把它删掉不然我们切换不同配置文件的时候会直接拒绝并报错 下图展示的是删除过后的pom.xml文件 buildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/versionconfigurationmainClassio.zhiller.zercardpacket.ZerCardPacketApplication/mainClass/configurationexecutionsexecutionidrepackage/idgoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build创建MySQL容器 我的springboot上使用的mysql-connect-j版本是8的所以我这边也直接使用mysql:latest镜像也就是最新的MySQL8镜像 拉取镜像docker pull mysql:latest 构建MySQL容器docker run -d -p 10085:10085 --name mysql8 -e MYSQL_ROOT_PASSWORD mysql:latest 此时注意要在服务器的安全组策略内允许3306端口访问 之后你可以通过navicat连接到MySQL然后添加对应数据库和表啥的这里不演示 配置桥接网络 由于我们使用docker同时部署了springboot的jar包以及MySQL那么两个容器之间实际上是相互隔离的我们只能通过docker给出的桥接方式把两个容器通过桥接网络连接起来这样子springboot才可以连接到对应容器内的MySQL 举例对于连接到同一个docker桥接网络下的两个容器d1和d2 可以直接通过各自在桥接网下的IP联通如ping 172.18.0.2或者直接使用对应容器名联通如ping d1 首先看一下当前有哪些桥接网络docker network ls 我这里之前创建了一个桥接网络esp-network我们可以执行以下指令创建对应桥接网络 docker network create [网络名字] 把对应容器添加到桥接网络的方式有两种我们使用第二种方式关联桥接网络 在容器创建时添加不推荐容器创建后通过指令关联推荐自由度更高 把创建好的MySQL容器添加到桥接网络内 docker network connect esp-network mysql8 构建docker镜像 这里我使用mobaxterm链接到云服务器建议大家也下载一个这个软件他比啥xshell好使多了而且还免费 随便选择一个空文件夹我这里有三个文件 dockerfile用于构建对应jar包的镜像文件espbk-shell.sh偷懒专用全自动镜像创建、运行、桥接网络所有步骤便于后续快速更新镜像zer-backend.jar我们刚刚打包好的jar包 dockerfile # 我的springboot编译时使用JDK1.8所以这里搭设openjdk:8环境 FROM openjdk:8# 设置容器所有者 MAINTAINER zhiller# 把当前文件夹下的jar包添加到容器内 ADD ./zer-backend.jar backend.jar# 这是正常的不带参数的启动方式 # CMD [java,-jar,backend.jar]# 因为我们需要使用生产环境所以使用参数spring.profiles.active开启 # spring.profiles.active是全量覆盖也就是说只会启用这一个配置文件不会管其他的配置文件 CMD [java,-jar,backend.jar,--spring.profiles.activepro]espbk-shell.sh #!/bin/bashcontainer_nameespbk # 容器名 container_port10085 # 容器运行端口 image_nameespbk # 镜像名 image_tag1.0 # 镜像tag一般我们使用latest这里我用1.0 dockerfile_namedockerfile # dockerfile的文件名 networkesp-network # 桥接网络的名称echo 正在停止并删除docker镜像docker rm -f ${container_name}docker image rm ${image_name}:${image_tag}echo 正则重新更新当前镜像docker build -f ./${dockerfile_name} -t ${image_name}:${image_tag} .docker run -d -p ${container_port}:${container_port} --name ${container_name} ${image_name}:${image_tag}docker network connect ${network} ${container_name}echo 大功告成您可以查看已经更新的镜像了这样子我们可以直接运行脚本实现部署bash espbk-shell.sh 最后把我们构建好的jar包容器添加到桥接网络docker network connect esp-network espbk 最后监视一下我们的桥接网络确认MySQL和jar包容器都在同一个桥接网络下 docker network inspect esp-network 找到container字段里面就包含了该桥接网络下存在的容器 不难发现MySQL使用172.18.0.2而我们的jar包使用172.18.0.3 网络调试 由于我们使用dockerfile构建jar包镜像是使用的底层镜像是openjdk他不带基本的linux指令也就是说没有ping、netstat这些关键指令 我们可以曲线救国使用主机自带的指令直接操控容器 具体可参考文献docker容器内缺少命令的简单解决办法_docker_脚本之家 首先安装依赖我使用ubuntuapt-get install -y util-linux 之后使用管道函数过滤出我们正在运行的jar包容器docker ps | grep espbk 复制容器的长ID划红线处 根据容器ID获取容器的PIDdocker inspect --format {{ .State.Pid }} 2877e2947850 之后就可以愉快的使用nsenter指令来操控容器了nsenter -t 3873441 -n ifconfig
http://www.w-s-a.com/news/573411/

相关文章:

  • 行业用品网站怎么建设外链买东西的网站都有哪些
  • 淘宝做促销的网站集团门户网站建设策划
  • 网站排行榜查询怎样把个人介绍放到百度
  • vps 网站上传河北省招投标信息网
  • 武进网站建设咨询网站定制公司选哪家
  • 郑州市建设投资集团公司网站深圳企业网站建设推荐公司
  • 天津个人网站备案查询dz网站恢复数据库
  • 关于网站建设的期刊文献宣传片文案
  • 物业网站模板下载wordpress+菜单大小
  • 网站建设案例教程视频空间刷赞网站推广
  • 网站建设借鉴做外贸球衣用什么网站
  • 网站建设的前途微信公众号制作网站
  • 做网站之前要安装什么网站改进建议有哪些
  • 网站建设+管理系统开发山东专业网站建设公司
  • 基础微网站开发咨询中国印花图案设计网站
  • 找最新游戏做视频网站天津市招标投标公共服务平台
  • 电影订票网站怎么做注册地址出租多少钱
  • 做网站的规划和设想怎样做能让招聘网站记住密码
  • 建站知乎网站公告建设方案
  • 济南市住房和城乡建设局官方网站淮阳住房和城乡建设网站
  • 网站的设计特点有哪些seo推广要多少钱
  • wordpress开通多站点好处软件开发外包公司的设计一般多少钱
  • 为什么我的网站做不起来微信网页版登录手机版下载
  • 苏州市建设职业中心网站北京网站优化方法
  • 于飞网站开发溧阳 招网站开发
  • 网站中的宣传册翻页动画怎么做长沙有哪些网络平台公司
  • 如何做视频门户网站网站建设模板ppt
  • 青岛黄岛区网站开发百度云盘登录入口
  • 建设银行甘肃省行网站房地产市场调研报告
  • js 网站制作合肥公司网站建设