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

后端项目部署教程

一、打包jar包

lyamanoblog-server-0.0.1.jar
ps:运行时可能会提醒不能有大写字母,所以用的都是小写字母

二、编写Dockerfile文件

FROM java:8
VOLUME /tmp
ADD lyamanoblog-server-0.0.1.jarblog.jar       
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/blog.jar"] 

三、编写blog-start.sh脚本

#源jar路径  
SOURCE_PATH=/usr/local/blogServer
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=lyamanoblog-server-0.0.1.jar
TAG=latest
SERVER_PORT=3300
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME:$TAG" | awk '{print $3}')
if [ -n "$CID" ]; thenecho "存在容器$SERVER_NAME, CID-$CID"docker stop $SERVER_NAMEdocker rm $SERVER_NAME
fi
# 构建docker镜像
if [ -n "$IID" ]; thenecho "存在$SERVER_NAME:$TAG镜像,IID=$IID"docker rmi $SERVER_NAME:$TAG
elseecho "不存在$SERVER_NAME:$TAG镜像,开始构建镜像"cd $SOURCE_PATHdocker build -t $SERVER_NAME:$TAG .
fi
# 运行docker容器
docker run --name $SERVER_NAME -v /usr/localblogServer:/usr/local/blogServer -d -p $SERVER_PORT:$SERVER_PORT $SERVER_NAME:$TAG
echo "$SERVER_NAME容器创建完成"

ps:sh文件需要用notepad++转为Unix格式

四、将jar包、Dockerfile文件、blog-start.sh脚本传输到服务器/usr/local/blogServer目录下

五、进入服务器/usr/local/blogServer下,构建后端镜像

 ./blog-start.sh 

构建完成后自动创建镜像、容器、自动启动容器。只要容器正常运行、以后更新后端只需要更新jar包、重新运行blog-start.sh脚本即可。

注意的坑: springboot不能使用本地地址连接mysql、rabbitmq、redis。会出现连接不上。因为docker容器都是互相独立的。

相关文章:

后端项目部署教程

一、打包jar包 lyamanoblog-server-0.0.1.jar ps:运行时可能会提醒不能有大写字母,所以用的都是小写字母 二、编写Dockerfile文件 FROM java:8 VOLUME /tmp ADD lyamanoblog-server-0.0.1.jarblog.jar ENTRYPOINT ["java","-Djava.securit…...

【微命令】git 如何修改某个分支的名字(git branch -m newbranch)

简要信息,快速记录 命令 # 切换到某个需要修改的分支 git checkout oldbranch# 修改分支名字 git branch -m newbranch假设作为git设计者,要用来修改branch的命令,那么就是 git branch作为前缀,然后进一步修改的命令是branch相关…...

Unity UI 优化技巧

将画布分割为多个 问题:当 UI Canvas 的任何元素发生变化时,都会影响整个 Canvas。 Canvas 是 Unity UI 的重要组成部分。它创建一个网格来表示放置在其顶部的 UI 元素,在 UI 元素更改时重建网格,并调用 GPU 来渲染实际的用户界面。 创建这些网络可能非常昂贵。UI 元素应…...

前端学习之DOM编程案例:抽奖案例

代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>抽奖案例</title><style>*{margin: 0;padding: 0;}</style> </head> <body><div id"container"&g…...

解决windows下Qt Creator显示界面过大的问题

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 问题描述 解决方法 1、右击此电脑--->属性 2、点击高级系统设置--->点击环境变量 3、 找到系…...

MySQL 通信协议 tcp c/s架构 jdbc java

简介 服务器启动后&#xff0c;会使用 TCP 监听一个本地端口&#xff0c;当客户端的连接请求到达时&#xff0c;就会执行三段握手以及 MySQL 的权限验证&#xff1b;验证成功后&#xff0c;客户端开始发送请求&#xff0c;服务器会以响应的报文格式返回数据&#xff1b;当客户…...

蓝桥杯第十三届电子类单片机组决赛程序设计

前言 一、决赛题目 1.比赛题目 2.题目解读 二、功能实现 1.关于定时器资源 1&#xff09;超声波和NE555需要的定时器资源 2&#xff09;定时器2 2.单位切换 3.数据长度不足时&#xff0c;高位熄灭 4.AD/DA多通道的处理 5.PWM输出 6.长按功能的实现 三、完整代码演…...

【Entity Framework】如何使用EF中的生成值

【Entity Framework】如何使用EF中的生成值 文章目录 【Entity Framework】如何使用EF中的生成值一、概述二、默认值三、计算列四、设置主键五、显示配置值生成六、设置日期/时间值生成6.1 创建时间戳6.2 更新时间戳 七、替代值生成八、无值生成九、总结 一、概述 数据库列的值…...

【MATLAB源码-第185期】基于matlab的16QAM系统相位偏移估计EOS算法仿真,对比补偿前后的星座图误码率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 引言 M-QAM调制技术的重要性 现代通信系统追求的是更高的数据传输速率和更有效的频谱利用率。M-QAM调制技术&#xff0c;作为一种高效的调制方案&#xff0c;能够通过在相同的带宽条件下传输更多的数据位来满足这一需求…...

C++入门语法(命名空间缺省函数函数重载引用内联函数nullptr)

目录 前言 1. 什么是C 2. C关键字 3. 命名空间 3.1 命名空间的定义 3.2 命名空间的使用 4. C输入和输出 5. 缺省函数 5.1 概念 5.2 缺省参数分类 6. 函数重载 6.1 概念 6.2 为何C支持函数重载 7. 引用 7.1 概念 7.2 特性 7.3 常引用 7.4 引用与指针的区别 7…...

9.vector的使用介绍和模拟实现

1.vector的介绍及使用 1.1 vector的介绍 vector的文档介绍 vector是表示可变大小数组的序列容器。 就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问&#xff0c;和数组一样高效。但是又不像数组&#xff0c…...

探索设计模式的魅力:MVVM模式在AI大模型领域的创新应用-打破传统,迎接智能未来

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 MVVM模式在AI大模型领域的创新应用-打破传统迎接智能未来 &#x1f680; “在人工智能的领域里&a…...

Docker使用— Docker部署安装Nginx

Nginx简介 Nginx 是一款高性能的 web 服务器、反向代理服务器以及电子邮件&#xff08;IMAP/POP3/SMTP&#xff09;代理服务器&#xff0c;由俄罗斯开发者伊戈尔塞索耶夫&#xff08;Igor Sysoev&#xff09;编写&#xff0c;并在2004年10月4日发布了首个公开版本0.1.0。Nginx…...

C/C++基础----运算符

算数运算符 运算符 描述 例子 两个数字相加 两个变量a b得到两个变量之和 - 两个数字相减 - * 两个数字相乘 - / 两个数字相除 - % 两个数字相除后取余数 8 % 3 2 -- 一个数字递减 变量a&#xff1a;a-- 、--a 一个数字递增 变量a: a 、 a 其中递…...

YOLOv9:下一代目标检测的革新

目标检测作为计算机视觉领域的一个重要分支&#xff0c;一直是研究的热点。YOLO系列作为目标检测算法的佼佼者&#xff0c;自YOLO1发布以来&#xff0c;就在速度和精度上取得了很好的平衡&#xff0c;深受业界和学术界的喜爱。 YOLOv9作为该系列的最新版本&#xff0c;不仅在性…...

Leetcode算法训练日记 | day20

一、合并二叉树 1.题目 Leetcode&#xff1a;第 617 题 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要将这两棵树合并成一棵新…...

conda创建虚拟环境太慢,Collecting package metadata (current_repodata.json): failed

(省流版&#xff1a;只看加粗红色&#xff0c;末尾也有哦) 平时不怎么用conda&#xff0c;在前公司用服务器的时候用的是公司的conda源&#xff0c;在自己电脑上直接用python创建虚拟环境完事儿&#xff0c;所以对conda的配置并不熟悉~~【狗头】。但是python虚拟环境的最大缺点…...

Tensorflow(GPU版本配置)一步到位!!!

Tensorflow&#xff08;GPU版本配置&#xff09;一步到位&#xff01;&#xff01;&#xff01; CUDA安装CUDA配置Tensorflow配置常见的包 CUDA安装 配置了N次的Tensorflow–Gpu版本&#xff0c;完成了踩坑&#xff0c;这里以配置Tensorflow_gpu 2.6.0为例子进行安装 以下为ten…...

STL之map

CSTL之map 1.介绍 map是映射的意思&#xff0c;即每个x对应一个y&#xff0c;我们这里说成key和value 举例子说明&#xff1a;运动->篮球 &#xff08;运动是key,篮球是value&#xff09;用电脑->写代码 &#xff08;用电脑是key&#xff0c;写代码是value&#xff09;…...

闲谈2024(一)

时光飞逝&#xff0c;一转眼24年的第一个季度已经过去了&#xff0c;回望这3个多月&#xff0c;感触颇多。首先&#xff0c;24年从一个一心只读圣贤书&#xff0c;全身心投入在技术上的研发工程师&#xff0c;转变为一个团队的小leader。从我个人对自己的定位来说&#xff0c;我…...

隐私优先方案:OpenClaw+Qwen3-32B-RTX4090D离线处理医疗记录

隐私优先方案&#xff1a;OpenClawQwen3-32B-RTX4090D离线处理医疗记录 1. 为什么医疗数据必须留在本地&#xff1f; 去年协助某诊所搭建病历管理系统时&#xff0c;我亲历了一次数据泄露恐慌。当诊所负责人发现云端OCR服务商要求上传患者检查报告时&#xff0c;他立即叫停了…...

Loop:Mac窗口管理的优雅革命,开源免费的全新体验

Loop&#xff1a;Mac窗口管理的优雅革命&#xff0c;开源免费的全新体验 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否曾在多窗口工作中迷失方向&#xff1f;Loop作为一款开源的macOS窗口管理工具&#xff0c;通过…...

3个步骤掌握163MusicLyrics:多平台歌词提取与管理完全指南

3个步骤掌握163MusicLyrics&#xff1a;多平台歌词提取与管理完全指南 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否曾为找不到老歌的歌词而翻遍全网&#xff1f…...

【2024最硬核数据工程升级】:Polars 2.0清洗架构重构——支持10亿行/分钟实时清洗的4层缓冲设计

第一章&#xff1a;Polars 2.0大规模数据清洗技巧如何实现快速接入Polars 2.0 基于 Rust 构建&#xff0c;原生支持并行执行与零拷贝内存访问&#xff0c;在处理 TB 级结构化数据时展现出远超 Pandas 的吞吐能力。其 LazyFrame 模式可将整个清洗流程编译为优化的执行计划&#…...

DLSS Swapper终极指南:如何快速管理游戏DLSS版本提升性能?

DLSS Swapper终极指南&#xff1a;如何快速管理游戏DLSS版本提升性能&#xff1f; 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款专为NVIDIA显卡用户设计的智能管理工具&#xff0c;能够无缝管理游…...

基于python框架的船舶物流运输管理系统设计vue

目录船舶物流运输管理系统功能分析&#xff08;Vue前端&#xff09;用户管理模块船舶管理功能运输订单管理路径优化模块实时监控看板报表分析功能移动端适配系统集成接口技术栈建议项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合…...

深度解析ShardingCore:EF Core分库分表架构实战与性能优化指南

深度解析ShardingCore&#xff1a;EF Core分库分表架构实战与性能优化指南 【免费下载链接】sharding-core high performance lightweight solution for efcore sharding table and sharding database support read-write-separation .一款ef-core下高性能、轻量级针对分表分库…...

保姆级教程:在Ubuntu上复现‘easy溯源’靶场,手把手教你分析反弹Shell和内网穿透痕迹

在Ubuntu上复现‘easy溯源’靶场&#xff1a;从环境搭建到痕迹分析实战指南 当你第一次接触应急响应时&#xff0c;是否曾被各种专业术语和复杂场景搞得晕头转向&#xff1f;本文将带你从零开始&#xff0c;在Ubuntu系统上完整复现一个名为easy溯源的靶场环境。这不是简单的解题…...

设计师不用写代码了?实测TRAE SOLO Builder如何将Figma稿秒变可交互网页

设计师如何用TRAE SOLO Builder实现零代码网页开发 在数字产品设计领域&#xff0c;设计师与开发者之间的协作断层长期存在。设计精美的Figma稿转化为实际网页时&#xff0c;往往面临还原度不足、交互细节丢失等问题。TRAE SOLO Builder的出现&#xff0c;正在重新定义设计到开…...

多人对话录音整理神器:ClearerVoice-Studio语音分离功能详细教程

多人对话录音整理神器&#xff1a;ClearerVoice-Studio语音分离功能详细教程 1. 引言&#xff1a;告别混乱的多人录音 你是否经常需要整理会议录音、访谈记录或多人讨论内容&#xff1f;传统的录音文件往往混杂着多个人的声音&#xff0c;背景噪音干扰严重&#xff0c;整理起…...