docker-本地部署-后端
前置条件
-
后端文件
这边是一个简单项目的后端文件目录

-
docker服务
镜像文件打包
#命令行 docker build -t author/chatgpt-ai-app:1.0 -f ./Dockerfile .
红框是docker所在文件夹
- author:docker用户名
- chatgpt-ai-app:打包的镜像文件名字
- :1.0 :版本
命令行运行:

Dockerfile文件内容
# 基础镜像
FROM openjdk:8-jre-slim# 作者
MAINTAINER author# 配置
ENV PARAMS=""# 时区
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone# 添加应用
ADD /chatgpt-ai-interfaecs/target/chatgpt-ai-app.jar /chatgpt-ai-app.jarENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /chatgpt-ai-app.jar $PARAMS"]
注意
一定要先出现这两个文件才可以进行docker的打包工作

如何构建:
Maven文件install即可(我建议在最初chatgpt-ai 周期下:clean+install)
我为啥选择在chatgpt-ai-interfaces,主要是pom文件的build写在了,这个模块pom中,
可以在这里install也可以在我建议的地方应该都是一样的(只是我老报错)

chatgpt-ai-interfaces下的pom文件的build部分
。。。。。。。。前面有你需要的依赖!
<!-- 工程文件依赖--><dependency><groupId>org.example</groupId><artifactId>chatgpt-ai-domain</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.example</groupId><artifactId>chatgpt-ai-application</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies><build>
<!-- 构建的文件名--><finalName>chatgpt-ai-app</finalName><resources><resource><directory>src/main/resources</directory><filtering>true</filtering><includes><include>**/**</include></includes></resource></resources><testResources><testResource><directory>src/test/resources</directory><filtering>true</filtering><includes><include>**/**</include></includes></testResource></testResources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.12.4</version><configuration><skipTests>true</skipTests></configuration></plugin><plugin><!--该插件主要用途:构建可执行的JAR --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target></configuration></plugin></plugins></build>
打包后docker上出现
builds成功

运行–本地部署完成

相关文章:
docker-本地部署-后端
前置条件 后端文件 这边是一个简单项目的后端文件目录 docker服务 镜像文件打包 #命令行 docker build -t author/chatgpt-ai-app:1.0 -f ./Dockerfile .红框是docker所在文件夹 author:docker用户名chatgpt-ai-app:打包的镜像文件名字:1.0 &#…...
TLS + OpenSSL + Engine + PKCS#11 + softhsm2 安全通信
引擎库路径只有在 /lib 下才能被 "LOAD" 识别到,OpenSSL的ReadMe给的示例在/lib,大概是在构建OpenSSL时默认的configure指定了lib路径 // #define PKCS11_ENGINE_PATH "/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so" #define …...
Unity实现简单的MVC架构
文章目录 前言MVC基本概念示例流程图效果预览后话 前言 在Unity中,MVC(Model-View-Controller)框架是一种架构模式,用于分离游戏的逻辑、数据和用户界面。MVC模式可以帮助开发者更好地管理代码结构,提高代码的可维护性…...
【简单讲解下OneFlow深度学习框架】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...
FastGPT 调用Qwen 测试Hello world
Ubuntu 安装Qwen/FastGPT_fastgpt message: core.chat.chat api is error or u-CSDN博客 参考上面文档 安装FastGPT后 登录, 点击右上角的 新建 点击 这里,配置AI使用本地 ollama跑的qwen模型 问题:树上有3只鸟,开了一枪&#…...
Golang-GMP
GMP调度 golang-GMP语雀笔记整理 GMP调度设计目的,为何设计GMP?GMP的底层实现几个核心数据结构GMP调度流程 设计目的,为何设计GMP? 无论是多进程、多线程目的都是为了并发提高cpu的利用率,但多进程、多线程都存在局限性。比如多进程通过时…...
【PythonWeb开发】Flask自定义模板路径和静态资源路径
在大型的 Flask 项目中,确实可能会有多个子应用(Blueprints),每个子应用可能都有自己的静态文件和模板。为了更好地管理和组织这些资源,可以使用static_folder 和template_folder 属性来统一管理。必须同时设置好主应用…...
Java对象创建过程
在日常开发中,我们常常需要创建对象,那么通过new关键字创建对象的执行中涉及到哪些流程呢?本文主要围绕这个问题来展开。 类的加载 创建对象时我们常常使用new关键字。如下 ObjectA o new ObjectA();对虚拟机来讲首先需要判断ObjectA类的…...
Does a vector database maintain pre-vector chunked data for RAG systems?
题意:一个向量数据库是否为RAG系统维护预向量化分块数据? 问题背景: I believe that when using an LLM with a Retrieval-Augmented Generation (RAG) approach, the results retrieved from a vector search must ultimately be presented…...
Rust-11-错误处理
Rust 将错误分为两大类:可恢复的(recoverable)和 不可恢复的(unrecoverable)错误。对于一个可恢复的错误,比如文件未找到的错误,我们很可能只想向用户报告问题并重试操作。不可恢复的错误总是 b…...
自动化测试:使用Postman进行接口测试与脚本编写
Postman 是一种流行的 API 测试工具,广泛应用于开发和测试过程中。它不仅可以用于手动测试,还支持自动化测试和脚本编写,以确保 API 的可靠性和性能。本文将详细介绍如何使用 Postman 进行接口测试与脚本编写,帮助你更高效地进行自…...
ONLYOFFICE 8.1 桌面编辑器测评:引领数字化办公新潮流
目录 前言 下载安装 新功能概述 1.PDF 编辑器的改进 2. 演示文稿中的幻灯片版式 3.语言支持的改进 4. 隐藏“连接到云”板块 5. 页面颜色设置和配色方案 界面设计:简洁大方,操作便捷 性能评测:稳定流畅,高效运行 办公环…...
基于大语言模型LangChain框架:知识库问答系统实践
ChatGPT 所取得的巨大成功,使得越来越多的开发者希望利用 OpenAI 提供的 API 或私有化模型开发基于大语言模型的应用程序。然而,即使大语言模型的调用相对简单,仍需要完成大量的定制开发工作,包括 API 集成、交互逻辑、数据存储等…...
解锁Transformer的鲁棒性:深入分析与实践指南
🛡️ 解锁Transformer的鲁棒性:深入分析与实践指南 Transformer模型自从由Vaswani等人在2017年提出以来,已经成为自然语言处理(NLP)领域的明星模型。然而,模型的鲁棒性——即模型在面对异常、恶意或不寻常…...
mybatis#号和$区别
在MyBatis中,#{}和${}都是用于实现动态SQL的占位符,但它们在使用场景和安全性上有明显的区别: 用途区别: #{}主要用于传递接口传输过来的具体数据,如参数值,它可以防止SQL注入,因为MyBatis会…...
AI绘画 Stable Diffusion【实战进阶】:图片的创成式填充,竖图秒变横屏壁纸!想怎么扩就怎么扩!
大家好,我是向阳。 所谓图片的创成式填充,就是基于原有图片进行扩展或延展,在保证图片合理性的同时实现与原图片的高度契合。是目前图像处理中常见应用之一。之前大部分都是通过PS工具来处理的。今天我们来看看在AI绘画工具 Stable Diffusio…...
Linux内核 -- 汇编结合ko案例之PMU获取cpu cycle技术
ARMv7汇编实现周期计数读取与清空 本文档详细描述了如何在ARMv7平台上使用汇编语言编写周期计数器读取与清空函数,如何在内核模块中导出这些函数供其他模块调用,以及如何使用Netlink接口供用户态程序进行调用。 1. 汇编函数实现 首先,编写…...
探索 Symfony 框架:工作原理、特点及技术选型
目录 1. 概述 2. Symfony 的工作原理 2.1 MVC 架构 2.2 前端控制器模式 2.3 路由机制 2.4 依赖注入容器 2.5 事件驱动架构 3. Symfony 的特点 3.1 高度可扩展性 3.2 强大的社区支持和生态系统 3.3 优秀的性能和可伸缩性 3.4 严格的代码规范和最佳实践 4. Symfony …...
从万里长城防御体系看软件安全体系建设@安全历史03
长城,是中华民族的一张重要名片,是中华民族坚韧不屈、自强不息的精神象征,被联合国教科文组织列入世界文化遗产名录。那么在古代,长城是如何以其复杂的防御体系,一次次抵御外族入侵,而这些防御体系又能给软…...
ISO 19110操作要求类中的/req/operation/formal-definition详细解释
/req/operation/formal-definition 要求: 每个要素操作实体必须具有一个形式定义(formal definition),该定义应明确描述操作的行为和影响。 具体解释 定义 要素操作实体(feature operation entity):这…...
Visio网络拓扑图绘制实战:从基础操作到高级定制
1. Visio网络拓扑图绘制入门指南 第一次接触Visio画网络拓扑图时,我也被那些复杂的图标和连接线搞得头晕眼花。但用顺手后发现,这玩意儿比PS简单多了,就像用Word画图一样自然。先说说最基础的准备工作:安装Visio时记得勾选"网…...
别再踩坑了!UniApp集成支付宝支付,从创建应用到上线审核的保姆级避坑指南
UniApp集成支付宝支付全流程避坑指南:从密钥配置到审核上线的实战经验 第一次在UniApp项目中集成支付宝支付时,我花了整整三天时间反复调试——不是因为代码逻辑复杂,而是那些看似简单的配置环节处处是坑。本文将分享我从七个关键环节总结的…...
Matlab进阶技巧:如何用hatchfill2和legendflex打造专业级纹理柱状图
Matlab数据可视化进阶:用hatchfill2与legendflex打造学术级纹理柱状图 在科研论文或商业报告中,单调的纯色柱状图往往难以清晰传达多维数据的层次关系。当需要区分5种以上的数据类别时,即使用尽所有高对比度颜色,依然会面临辨识度…...
三步搞定QQ空间历史说说备份:GetQzonehistory完整使用指南
三步搞定QQ空间历史说说备份:GetQzonehistory完整使用指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还在担心QQ空间的珍贵回忆会丢失吗?GetQzonehistory是…...
【FastAPI 2.0流式AI响应实战指南】:3步接入、5大避坑点、性能提升300%的工业级落地方案
第一章:FastAPI 2.0流式AI响应的核心演进与工业价值FastAPI 2.0 将原生流式响应能力从实验性支持升级为一级公民特性,彻底重构了高吞吐 AI 服务的构建范式。其核心在于深度整合 ASGI 3.0 的异步流语义与 Starlette 的 StreamingResponse 基础设施&#x…...
antv-g6实战:自定义拓扑图节点与边的动态交互实现
1. 从零开始认识AntV-G6拓扑图 第一次接触AntV-G6这个可视化引擎时,我正面临一个企业级网络拓扑可视化的项目需求。当时尝试过D3.js和ECharts,发现它们要么太底层,要么对关系型数据支持不够友好。直到遇见G6,才发现这就是为拓扑图…...
别再手动画流程图了!用Flowable 6.8.1 + SpringBoot 3分钟搞定请假审批系统
3分钟集成Flowable 6.8.1:SpringBoot请假审批系统实战指南 当团队需要快速上线一个请假审批模块时,传统开发方式往往需要编写大量状态流转代码。去年我们团队就遇到过这种情况——产品经理突然要求三天内上线OA系统的请假功能,而当时我们连数…...
告别npm install electron的漫长等待:深入解读ELECTRON_MIRROR环境变量与国内镜像源配置全攻略
深度优化Electron安装体验:环境变量与镜像源配置实战指南 每次执行npm install electron时,你是否盯着缓慢移动的进度条感到焦虑?作为跨平台桌面应用开发的核心框架,Electron的安装体验直接影响开发效率。本文将带你深入理解Elec…...
深入解析JLink与SWD接口:从引脚定义到实际调试应用
1. JLink调试器基础认知 第一次接触JLink时,我完全被那排密密麻麻的20针接口吓到了。这玩意儿真的比USB转串口工具复杂十倍不止!但用熟之后才发现,它其实是嵌入式开发的"瑞士军刀"。简单来说,JLink是SEGGER公司推出的专…...
(仿真原件+报告)下垂控制-基于T型三电平逆变器的下垂控制,电压电流双闭环,采用LCL滤波,S...
(仿真原件报告)下垂控制-基于T型三电平逆变器的下垂控制,电压电流双闭环,采用LCL滤波,SPWM调制方式 1.提供simulink仿真源文件 2.提供下垂控制原理与下垂系数计算方法 3.中点平衡控制,电压电流双闭环控制 4…...
