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

armbian使用1panel快速部署部署springBoot项目后端

文章目录

  • 前言
  • 环境准备
  • 实现步骤
    • 第一步:Armbian安装1panel
    • 第二步:安装数据库
    • 第三步:查看数据库容器重要信息【重要】
      • 查看容器所在的网络
      • 查看容器连接地址
    • 第四步:项目配置和打包
    • 第五步:构建项目镜像

前言

  • 这里只是简单记录部署springboot项目后端的快速部署方法

环境准备

  • 一台linux服务器
  • 1panel
  • docker

实现步骤

第一步:Armbian安装1panel

  • 参考Armbian安装1panel教程
  • 由于1panel会自动安装docker,所以无需手动安装docker
  • 1panel配置镜像加速
    在这里插入图片描述

第二步:安装数据库

  • 在应用商店中,选择合适的数据库,安装即可
    在这里插入图片描述
  • 编辑相关配置
    在这里插入图片描述
  • 注意:记得打开外部访问,方便使用数据库软件连接数据库进行操作
  • 如果需要创建项目数据库,正常操作导入数据库文件即可

第三步:查看数据库容器重要信息【重要】

查看容器所在的网络

  • 因为,1panel应用商店安装的容器(默认添加到1panel-network),如果在部署项目使没有注意到mysql容器所在网络,没有正确填写项目mysql连接配置详细,贸然部署项目,会导致springboot连接不到mysql

查看容器连接地址

  • 容器连接地址用于部署项目的容器和mysql容器通信
    在这里插入图片描述

第四步:项目配置和打包

  1. 将yml文件中的数据库连接信息如ip、用户名、密码登录修改为正确信息
    • ip使用上一步查询到容器连接信息
    • 用户名和密码使用创建mysql容器时设置的
  2. 使用maven打包springboot项目(这个相信大家很熟悉了)

第五步:构建项目镜像

  1. 在Linux服务器中创建目录如:/usr/local/docker,然后将项目jar上传到该目录下(可以使用1panel面板进行目录创建和上传操作)
    在这里插入图片描述
  2. /usr/local/docker创建Dockerfile文件构建方便构建镜像
    • Dockerfile是一个文本文件,包含了构建Docker镜像所需的指令和配置
    FROM openjdk:8
    COPY ./spring-0.0.1-SNAPSHOT.jar /tmp/app.jar
    EXPOSE 8080
    ENTRYPOINT java -jar /tmp/app.jar
    
  3. 在终端执行命令
  • 进入创建的目录
cd /usr/local/docker/

  • 构建项目镜像
docker build -f ./Dockerfile -t app .
  • docker build: 构建Docker镜像的命令

  • -f ./Dockerfile: 指定Dockerfile的路径。./Dockerfile指定了Dockerfile文件的相对路径,即当前目录下的Dockerfile文件。

  • -t app: 用于为构建的镜像指定一个标签(tag)。在构建完成后可以通过app这个标签来标识这个镜像。

  • .: 构建上下文路径,指定了在哪个目录下查找Dockerfile和构建镜像所需的文件。.表示使用当前目录作为构建上下文,也就是Docker将会在当前目录下查找Dockerfile和其他需要的文件来构建镜像。


  • 部署项目
docker run  -d --name xx_demo -p 8080:8080 --network=1panel-network app
  1. docker run: 用于运行Docker容器

  2. -d: 用于在后台(分离模式)运行容器,不阻塞当前终端。

  3. --name xx_demo: 用于为运行中的容器指定一个名称

  4. -p 8080:8080: 将主机的端口映射到容器的端口。主机端口:容器端口

  5. --network=1panel-network: 将容器连接到指定的网络。这意味着容器可以与同一网络中的其他容器进行通信,也可以与该网络外部进行通信,具体取决于网络的配置。

  6. app: 这是在之前使用docker build命令构建的Docker镜像的名称。通过这个名称,Docker知道要在哪个镜像基础上运行容器。

相关文章:

armbian使用1panel快速部署部署springBoot项目后端

文章目录 前言环境准备实现步骤第一步:Armbian安装1panel第二步:安装数据库第三步:查看数据库容器重要信息【重要】查看容器所在的网络查看容器连接地址 第四步:项目配置和打包第五步:构建项目镜像 前言 这里只是简单记录部署spr…...

Streamlit 讲解专栏(八):图像、音频与视频魔法

文章目录 1 前言2 st.image:嵌入图像内容2.1 图像展示与描述2.2 调整图像尺寸2.3 使用本地文件或URL 3 st.audio:嵌入音频内容3.1 播放音频文件3.2 生成音频数据播放 4 st.video:嵌入视频内容4.1 播放视频文件4.2 嵌入在线视频 5 结语&#x…...

python使用装饰器记录方法耗时

思路 python使用修饰器记录方法耗时,目的是每当方法执行完后,可以记录该方法耗时,而不需要在每个方法的执行前后,去创建一个临时变量,来记录耗时。 方式一(不推荐): 在每个方法的…...

JavaWeb课程学习--Day01

HTML 建立css文件&#xff1a; css使用方式&#xff1a; <span>...</span>无语意包裹标签 css中的三种选择器&#xff1a; 注意&#xff1a;播放视音频时要留出播放空间 盒子模型&#xff1a; 表格标签&#xff1a; 以上表格&#xff1a; 表单标签&#xff1a; 表…...

Spring Boot单元测试使用MockBean注解向Service注入Mock对象

1. 背景介绍 我们在测试时有一个Service&#xff0c;我们需要测试Service&#xff0c;但Service内部依赖ServiceA、ServiceB&#xff0c;此时我们希望Mock ServiceA&#xff0c;ServiceB 注入真实对象。 class Service {private ServiceA A;private ServiceB B;public int me…...

Java中使用instanceof判断对象类型

记录&#xff1a;470 场景&#xff1a;Java中使用instanceof判断对象类型。例如在解析JSON字符串转换为指定类型时&#xff0c;先判断类型&#xff0c;再定向转换。在List<Object>中遍历Object时&#xff0c;先判断类型&#xff0c;再定向转换。 版本&#xff1a;JDK 1…...

postman测试后端增删改查

目录 一、本文介绍 二、准备工作 &#xff08;一&#xff09;新建测试 &#xff08;二&#xff09;默认url路径查看方法 三、增删改查 &#xff08;一&#xff09;查询全部 &#xff08;二&#xff09;增加数据 &#xff08;三&#xff09;删除数据 &#xff08;四&…...

根据源码,模拟实现 RabbitMQ - 通过 SQLite + MyBatis 设计数据库(2)

目录 一、数据库设计 1.1、数据库选择 1.2、环境配置 1.3、建库建表接口实现 1.4、封装数据库操作 1.5、针对 DataBaseManager 进行单元测试 一、数据库设计 1.1、数据库选择 MySQL 是我们最熟悉的数据库&#xff0c;但是这里我们选择使用 SQLite&#xff0c;原因如下&am…...

1、基于 CentOS 7 构建 LVS-DR 群集。 2、配置nginx负载均衡

一、基于CentOS7和、构建LVS-DR群集 准备四台虚拟机 ip作用192.168.27.150客户端192.168.27.151LVS192.168.27.152RS192.168.27.152RS 关闭防火墙 [rootlocalhost ~]# systemctl stop firewalld安装ifconfig yum install net-tools.x86_64 -y1、DS上 1.1 配置LVS虚拟IP …...

android 如何分析应用的内存(十七)——使用MAT查看Android堆

android 如何分析应用的内存&#xff08;十七&#xff09;——使用MAT查看Android堆 前一篇文章&#xff0c;介绍了使用Android profiler中的memory profiler来查看Android的堆情况。 如Android 堆中有哪些对象&#xff0c;这些对象的引用情况是什么样子的。 可是我们依然面临…...

Spring 使用注解储存对象

文章目录 前言存储 Bean 对象五大注解五大注解示例配置包扫描路径读取bean的示例 方法注解 Bean Bean 命名规则重命名 Bean 前言 通过在 spring-config 中添加bean的注册内容&#xff0c;我们已经可以实现基本的Spring读取和存储对象的操作了&#xff0c;但在操作中我们发现读…...

一、初始 Spring MVC

文章目录 一、回顾 MVC 模式二、初始 Spring MVC2.1 Spring MVC 核心组件2.1.1 前端控制器&#xff08;DispatcherServlet&#xff09;2.1.2 处理器映射器&#xff08;HandlerMapping&#xff09;2.1.3 处理器适配器&#xff08;HandlerAdapter&#xff09;2.1.3 后端控制器&am…...

《爬虫》爬取页面图片并保存

爬虫 前言代码效果 简单的爬取图片 前言 这几天打算整理与迁移一下博客。因为 CSDN 的 Markdown 编辑器很好用 &#xff0c;所以全部文章与相关图片都保存在 CSDN。而且 CSDN 支持一键导出自己的文章为 markdown 文件。但导出的文件中图片的连接依旧是 url 连接。为了方便将图…...

【项目部署】JavaScript解析JSON解析报错Unexpected token xxx is not valid JSON

问题背景 这个报错发生在之前部署的一个前后端分离的项目中。后端使用的Spring Boot&#xff0c;前端使用的JavaScript&#xff0c;前后端交互使用Thymeleaf框架。 现象 项目组的另一个小伙伴说&#xff0c;突然有个页面打不开了&#xff0c;整个页面全空白。我F12打开浏览器…...

做接口测试如何上次文件

在日常工作中&#xff0c;经常有上传文件功能的测试场景&#xff0c;因此&#xff0c;本文介绍两种主流编写上传文件接口测试脚本的方法。 首先&#xff0c;要知道文件上传的一般原理&#xff1a;客户端根据文件路径读取文件内容&#xff0c;将文件内容转换成二进制文件流的格式…...

Java SPI机制详解-01

1. 概述 SPI&#xff08;Service Provider Interface&#xff09;&#xff0c;是 Java 6 引入了一个内置功能&#xff0c;实现服务提供发现和加载机制&#xff0c;使之与特定接口的匹配。 SPI 机制的核心思想就是 解耦 &#xff0c;将装配的控制权移到程序之外&#xff0c;这…...

由浅入深C系列六:C中实现字符串trim的功能

C中实现字符串trim的功能 简介设计思路代码实现运行效果 简介 一个项目中&#xff0c;需要用c语言实现对字符串中的字定字符进行过滤并从字符串的删除&#xff0c;查询了C语言的基本库&#xff0c;没有发现有这样的函数&#xff0c;于是发挥程序员的主观能力性&#xff0c;自力…...

博客网站添加复制转载提醒弹窗Html代码

网站如果是完全禁止右键&#xff08;复制、另存为等&#xff09;操作&#xff0c;对用户来说体验感会降低&#xff0c;但是又不希望自己的原创内容直接被copy&#xff0c;今天飞飞和你们分享几行复制转载提醒弹窗Html代码。 效果展示&#xff1a; 复制以下代码&#xff0c;将其…...

ubuntu下nfs服务安装

操作系统&#xff1a;ubuntu22.04.2 一、服务端安装与配置 1、在服务端安装nfs服务端组件 sudo apt install nfs-kernel-server 2、创建共享目录share并且授权所有人可以访问 sudo mkdir /shared sudo chmod -R 777 /shared 3、配置nfs sudo vim /etc/exports 这将允许…...

Unity框架学习--2

接上文 IOC 容器是一个很方便的模块管理工具。 除了可以用来注册和获取模块&#xff0c;IOC 容器一般还会有一个隐藏的功能&#xff0c;即&#xff1a; 注册接口模块 抽象-实现 这种形式注册和获取对象的方式是符合依赖倒置原则的。 依赖倒置原则&#xff08;Dependence I…...

GetQzonehistory终极指南:3大核心技巧让你永久保存QQ空间所有记忆

GetQzonehistory终极指南&#xff1a;3大核心技巧让你永久保存QQ空间所有记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间那些珍贵的说说、照片和评论会随着时间…...

打造你的专属数字书房:ReadCat开源小说阅读器深度体验指南

打造你的专属数字书房&#xff1a;ReadCat开源小说阅读器深度体验指南 【免费下载链接】read-cat 一款免费、开源、简洁、纯净、无广告的小说阅读器 项目地址: https://gitcode.com/gh_mirrors/re/read-cat 你是否厌倦了各大阅读平台层出不穷的广告弹窗&#xff1f;是否…...

HoRain云--ASP核心:Global.asa文件详解

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…...

解密Minecraft源码:DecompilerMC反编译工具完整指南

解密Minecraft源码&#xff1a;DecompilerMC反编译工具完整指南 【免费下载链接】DecompilerMC This repository allows you to decompile any minecraft version that was published after 19w36a without any 3rd party mappings, you just need to execute the script or th…...

2026年大模型技术前瞻:Qwen2.5长上下文支持推动行业变革入门必看

2026年大模型技术前瞻&#xff1a;Qwen2.5长上下文支持推动行业变革入门必看 本文深入解析Qwen2.5-0.5B-Instruct的核心能力&#xff0c;重点探讨长上下文支持如何改变AI应用格局&#xff0c;为开发者提供实用入门指南。 1. Qwen2.5-0.5B-Instruct&#xff1a;小而精的AI新星 …...

OpCore-Simplify:15分钟完成黑苹果EFI配置的终极解决方案

OpCore-Simplify&#xff1a;15分钟完成黑苹果EFI配置的终极解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾因黑苹果EFI配置的复杂性…...

3大实战场景:dnSpyEx .NET逆向调试与编辑的完整指南

3大实战场景&#xff1a;dnSpyEx .NET逆向调试与编辑的完整指南 【免费下载链接】dnSpy Unofficial revival of the well known .NET debugger and assembly editor, dnSpy 项目地址: https://gitcode.com/gh_mirrors/dns/dnSpy dnSpyEx是一款功能强大的.NET逆向工具&am…...

nlp_structbert_sentence-similarity_chinese-large实战案例:在线教育题库题目语义查重系统

nlp_structbert_sentence-similarity_chinese-large实战案例&#xff1a;在线教育题库题目语义查重系统 1. 项目背景与需求 在线教育平台每天都会产生大量的题目内容&#xff0c;老师们经常遇到这样的困扰&#xff1a;新出的题目是不是和题库中已有的题目重复了&#xff1f;传…...

从论文到落地:ResUNet++语义分割全流程指南(含Torch数据增强技巧)

从论文到落地&#xff1a;ResUNet语义分割全流程指南&#xff08;含Torch数据增强技巧&#xff09; 当你第一次翻开ResUNet的论文时&#xff0c;那些复杂的网络结构图和数学公式可能让你望而生畏。但别担心&#xff0c;每个优秀的算法工程师都经历过从理论到实践的迷茫期。本文…...

FlowState Lab赋能内容创作:自动生成小说情节发展曲线与角色情绪波动

FlowState Lab赋能内容创作&#xff1a;自动生成小说情节发展曲线与角色情绪波动 1. 引言&#xff1a;当AI遇见创意写作 你有没有遇到过这样的创作困境&#xff1f;写到第三章就卡壳&#xff0c;角色情绪转折生硬&#xff0c;故事节奏忽快忽慢。传统写作软件只能帮你检查语法…...