七、dokcer-compose部署springboot的jar

1、准备

打包后包名为   ruoyi-admin.jar

增加接口 httpL//{ip}:{port}/common/test/han

#环境变量预application.yml 中REDIS_HOSTt的值,去环境变量去找;如果找不到REDIS_HOST就用myredis

 1、Dockerfile

FROM hlw/java:8-jreRUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN mkdir -p /aaaaWORKDIR /aaaaEXPOSE 7979ENV TZ=Asia/Shanghai ENV JAVA_OPTS="-Xms512m -Xmx1024m -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom"ADD ./target/ruoyi-admin.jar ./CMD sleep 20;java $JAVA_OPTS -jar ruoyi-admin.ja

2、docker-compose.yml

version: '3.8'
services:myredis:container_name: redis_6379image: redis:6.0.6restart: alwaysports:- 6379:6379privileged: truecommand: redis-server /etc/redis/redis.conf --appendonly yesvolumes:- $PWD/redis/data:/data:rw- $PWD/redis/conf/redis.conf:/etc/redis/redis.conf:rwnetworks:- qingchewebmyService:container_name: service_testbuild: ./springbootrestart: alwaysenvironment:
#环境变量预application.yml 中redis->host的值;如果找不到REDIS_HOST就用myredis- REDIS_HOST = 39.105.156.105ports:- "8088:8080"depends_on:- myredislinks:- myredisvolumes:- /home/sqmydzf/ruoyi:/home/sqmydzf/ruoyi:rwnetworks:- qingchewebnetworks:qingcheweb:driver: bridge

3、结构目录

[root@izwz91uabta2x8pfjc2wzsz docker]# tree
.
├── docker-compose.yml
├── redis
│   ├── conf
│   │   └── redis.conf
│   └── data
│       ├── appendonly.aof
│       └── dump.rdb
└── springboot├── Dockerfile└── target└── ruoyi-admin.jar

2、测试

1、构建镜像

FROM hlw/java:8-jreRUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN mkdir -p /aaaaWORKDIR /aaaaEXPOSE 7979ENV TZ=Asia/Shanghai ENV JAVA_OPTS="-Xms512m -Xmx1024m -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom"ADD ./target/ruoyi-admin.jar ./CMD sleep 20;java $JAVA_OPTS -jar ruoyi-admin.jar

2、启动

[root@izwz91uabta2x8pfjc2wzsz docker]# docker-compose up -d
[+] Running 3/3✔ Network docker_qingcheweb  Created                                                                                                                                                 0.1s ✔ Container redis_6379       Started                                                                                                                                                 0.5s ✔ Container service_test     Started  

3、测试

[root@izwz91uabta2x8pfjc2wzsz docker]# curl http://127.0.0.1:8088/common/test/han
{"msg":"hello,han","code":200}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/38243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

私密相册管家-加密码保护私人相册照片安全

App Store史上最安全、最强大、最卓越的私密相册App!再也不用担心私密照片视频被别人看见了!
私密相册为你提供多重密码保护机制、简单便捷的照片存储空间,完美地将你的私密照片远离一切恶意偷窥者的窥探! 【产品功能】
 √ 支…

Redis—持久化

这里写目录标题 AOF三种写回策略写回策略的优缺点AOF 重写机制AOF后台重写AOF优缺点使用命令 RDBRDB 持久化的工作原理执行快照时,数据能被修改吗RDB 持久化的优点RDB 持久化的缺点 混合持久化大key对持久化的影响 AOF 保存写操作命令到日志的持久化方式&#xff0…

开源数据库Mysql_DBA运维实战 (DML/DQL语句)

DML/DQL DML INSERT 实现数据的 插入 实例: DELETE 实现数据的 删除 实例: UPDATE 实现数据的 更新 实例1: 实例2: 实例3: DQL DML/DQL DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELE…

2023年即将推出的CSS特性对你影响大不大?

Google开发者大会每年都会提出有关于 Web UI 和 CSS 方面的新特性,今年又上新了许多新功能,今天就从中找出了影响最大的几个功能给大家介绍一下 :has :has() 可以通过检查父元素是否包含特定子元素或这些子元素是否处于特定状态来改变样式,也…

Python|OpenCV-绘制图形和添加文字的方法(2)

前言 本文是该专栏的第2篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 OpenCV作为一个强大的计算机视觉功能库,除了能解决图像处理和计算机视觉任务之外,它还有着非常丰富的图像绘制功能。可以说,不论是在计算机视觉任务中标记目标领域,还是在图像上绘制一些…

二刷LeetCode--155. 最小栈(C++版本),思维题

思路:本题需要使用两个栈,一个就是正常栈,执行出入操作,另一个栈只负责将对应的最小值进行保存即可.每次入栈的时候,最小值栈的栈顶也需要入栈元素,不过这个元素是最小值,那么就需要进行比较,因此在getmin()的时候只需要将最小值栈的栈顶元素弹出即可.初始化的时候只需要将最小…

【vue3】点击按钮弹出卡片,点击卡片中的取消按钮取消弹出的卡片(附代码)

实现思路: 在按钮上绑定一个点击事件,默认是true;在export default { }中注册变量给卡片标签用v-if判断是否要显示卡片,ture则显示;在卡片里面写好你想要展示的数据;给卡片添加一个取消按钮,绑…

JVM G1垃圾回收机制介绍

G1(Garbage First)收集器 (标记-整理算法): Java堆并行收集器,G1收集器是JDK1.7提供的一个新收集器,G1收集器基于“标记-整理”算法实现,也就是说不会产生内存碎片。此外,G1收集器不同于之前的收集器的一个重要特点是&…

vue中 contenteditable 中如何将光标聚焦到最后位置

场景: 1. 在vue中, 又在for循环中, 给div元素配置contenteditable属性, 但是使用不了v-model绑定 2. 点击外部元素需要聚焦并将光标聚焦到最后位置 方案: 1. 使用vue-input-contenteditable第三方包, 可以使用v-model绑定, // 下载 yarn add vue-input-contenteditable…

每日一学——网络层

网络层是计算机网络体系结构中的一个关键层级。它负责将数据从源主机发送到目标主机,通过路由选择和路径管理实现在不同网络之间的数据传输。以下是网络层的详细资料,包括应用、案例和常见问题: 功能:网络层的主要功能是提供端到端…

[Poetize6] IncDec Sequence

题目描述 给定一个长度为 n 的数列 a_1,a_2,...,a_n,每次可以选择一个区间[l,r],使这个区间内的数都加 1 或者都减 1。 请问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列有多…

django部署到centos服务器上

具体的操作步骤 步骤一 更新系统和安装依赖, sudo yum update sudo yum install python3 python3-pip python3-devel git步骤二:创建并激活虚拟环境 在终端中执行以下命令: python3 -m venv myenv source myenv/bin/activate可以不创建虚拟…

Python 基础教程,Python 是什么?

Python 的诞生是极具戏曲性的,据 Guido 自述记载,Python 语言是在圣诞节期间为了打发无聊的时间而开发的,之所以会选择 Python 作为该编程语言的名字,是因为 Guido 是 Monty Python 戏剧团的忠实粉丝。 Python 语言是在 ABC 语言的…

深度学习的“前世今生”

1、“感知机”的诞生 20世纪50年代,人工智能派生出了这样两个学派,分别是“符号学派”及“连接学派”。前者的领军学者有Marvin Minsky及John McCarthy,后者则是由Frank Rosenblatt所领导。 符号学派的人相信对机器从头编程,一个…

JavaScript基础:学习JavaScript语言的基本语法和常用操作,了解网页交互的基本原理

JavaScript是一种广泛应用于网页开发中的脚本语言,它可以与HTML和CSS一起使用,实现网页交互及动态效果。 以下是JavaScript的基本语法和常用操作: 变量声明:使用var、let或const关键字声明变量。 var name "John";let …

bug的生命周期

bug的生命周期 bugbug的生命周期bug等级 bug 当且仅当规格说明书是存在的并且正确的,程序和规格说明书之间的不匹配才是错误当产品规格说明书没有提到时,以用户需求为准,当程序最终没有实现用户的合理预期的功能要求时,就是软件错…

Sencha Ext.NET Crack,构建Blazing快速应用

Sencha Ext.NET Crack,构建Blazing快速应用 Sencha Ext.NET是一个高级的ASP.NET核心组件框架,它包含了强大的跨浏览器Sencha Ext JS库。通过140多个预构建和专业测试的UI组件实现企业级性能和生产效率。Sencha Ext.NET使用尖端的Web技术创建功能强大的Web应用程序&a…

Hlang社区项目说明

文章目录 前言Hlang社区技术前端后端 前言 Hello,欢迎来到本专栏,那么这也是第一次做这种类型的专栏,如有不做多多指教。那么在这里我要隆重介绍的就是这个Hlang这个项目。 首先,这里我要说明的是,我们的这个项目其实是分为两个…

发布属于自己的 npm 包

1 创建文件夹,并创建 index.js 在文件中声明函数,使用module.exports 导出 2 npm 初始化工具包,package.json 填写包的信息(包的名字是唯一的) npm init 可在这里写包的名字,或者一路按回车,后…

openeuler服务器 ls 和ll 命令报错 command not found...

在openeuler服务器执行 ls 和ll 命令报错 command not found... 大概是系统环境变量导致的问题。 我在安装redis是否没有安装成功后就出现了这样的情况。编辑profile文件没有写正确,导致在命令行下ls 和 ll 等命令不能够识别。 重新设置一下环境变量。 export PAT…