dreamer-cms docker复现

news2024/11/29 1:43:07

dreamer-cms docker复现

  • 前言
  • 一,赛题复现
  • 二,人生第一个jar包
    • 1 ubuntu本地复现
      • (1)创建文件夹
      • (2)解压资源
      • (3)安装并导入数据库
      • (4)使用idea自动化部署
      • (5)打包并本地测试
    • 2 docker环境
  • 三,总结

前言

在开始文章之前,简要介绍一下本文的创作伊始。很久很久以前,某个地市举办了一场2023红明谷杯,那里高手云集,大佬遍布…算了编不下去了,讲正事,主要是因为想要学习jar包搭建java网站,刚好借着这个契机,复现赛题的时候顺便把镜像给做了。

一,赛题复现

题目很简单,就放一张图片意思一下。奇安信也有原文,一搜就看得到。
在这里插入图片描述

二,人生第一个jar包

cms下载:dreamer-cms
版本是dreamer_cms-Previous_Releases_4.0.1
总体思路:本地ubuntu18复现,设置好路径,打jar包,然后起一个docker镜像,一切还原成和本地一样的。

1 ubuntu本地复现

参照前人复现时给出的经验,在ubuntu上本地复现难度并不大,我这里就将自己的操作流程复述一遍。

(1)创建文件夹

cd /opt
mkdir programs
mkdir resources

(2)解压资源

(备注:dreamer-cms.zip和dreamer-cms.sql在网站项目的resources/db下面)
将dreamer-cms.zip解压,里面的文件全部上传到opt/resources/itechyou.cn下(没有itechyou.cn这个路径就创建一个)
在这里插入图片描述

(3)安装并导入数据库

dreamer-cms依赖mysql和redis两个数据库,他们的安装就不赘述了,很简单的两条命令。
apt install redis-server
apt install mysql
不过有两个个坑要讲一下
一个是mysql安装后默认没有开启加密模式,一个是高版本的mysql在终端中登录不能出现密码。具体可以参考下面的文章。
linux解决mysql用任何密码都能登录
然后进入mysql,
source /home/daydream/Desktop/dreamer-cms.sql
导入数据库文件即可。

(4)使用idea自动化部署

解压整个项目后,选择信任,修改yml文件

application.yml不需要修改
修改application-dev.yml如下
在这里插入图片描述
修改application-prd.yml如下
在这里插入图片描述

右键maven重新加载项目。
这里说明一下,因为idea自动化部署是下载来自国外的资源,有看到其他博主说搞什么maven资源目录的配置,劝我们不要使用自带的,太慢了。我想说的是,身为初学者,搞那么复杂干嘛,直接给idea配个vpn的代理不就行了,2分钟内必定下完资源。
这年头不会还有人不会给idea配代理吧——这个就不细说了,网上一抓一大把。
在这里插入图片描述
然后可以看到如下结果
在这里插入图片描述
接着,你就可以编译并执行了,本地就启动了它。不过这不算完,接下来,我们来打jar包。

(5)打包并本地测试

右键package,执行构建
在这里插入图片描述
将打好的Jar包会生成在target目录下面,将它上传到/opt/programs/目录下。
在这里插入图片描述
java -jar dreamer-cms.jar就可以了(logs是运行生成的结果)。
在这里插入图片描述
至此,本地就搭建好了。

2 docker环境

使用eclipse/ubuntu_jdk8:latest这个镜像,它自带ssh,修改ssh_config,permitrootlogin yes。

然后
apt update
apt install redis-server
apt install mysql
service redis-server start
service mysql start
至此docker容器基础环境就配好了,下面是端口情况(因为当时映射成了80,所以重新commit了个镜像,然后启的容器,所以你看到的IMAGE不是eclipse/ubuntu_jdk8:latest)
在这里插入图片描述
和本地搭建一模一样的方式,还原数据库——>创建opt下的文件目录——>上传dream-cms内的文件——>上传打好的jar包——>java -jar xxx.jar
在这里插入图片描述
commit一下这个容器,获得镜像
在这里插入图片描述
收工!

三,总结

文章虽短,跨度较长,记的上一次参与红明谷还是在上一次。可能打个jar包对于很多大佬们来说就是动动手指头的事,但对我来说,是个比较有意义的时刻,他证明了我在没有经历任何java系统性课程(大四四年学校都莫得java主修课)下的自学成果。
java -jar dream-cms.jar成功的那一刻高兴得像个孩子一样,转头来写这篇文章的时候才发现原来这个东西并不难,也就是没多花点时间去玩罢了。

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

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

相关文章

软件锁步冗余执行等安全机制是什么?

软件锁步冗余执行等安全机制是一种用于提高软件系统的功能安全性和可靠性的技术。它的基本思想是让两个或多个软件副本执行相同的功能,然后比较它们的输出,以检测和处理可能的故障。不同的安全机制有不同的特点和优缺点,例如: 锁…

Pull Request完整过程【记一次给antvis:G6的PR】

文章目录 前言Bug 重现问题排查解决方案old versionnew version收到回复 PR提交完整过程fork仓库 & clone代码仓添加upstreamfetch 新分支创建新分支完成修改(注意commit规范)push到个人仓库创建Pull Request填写PR信息 前言 G6正在进行v4到v5的版本…

基于多能互补的热电联供型微网优化运行(matlab代码)

目录 1 主要内容 多能互补模型 算例分析 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序基本复现《基于多能互补的热电联供型微网优化运行》,在需求侧对负荷类型进行分类,利用电负荷的弹性和系统供热方式的多样性,构建含电负荷时…

淘宝618每日一猜答案(6月9日)淘宝大赢家今日答案

淘宝6月9日每日一猜答案是什么?,接下来也会给大家来介绍一下6月9日淘宝大赢家每日一猜的答案。 淘宝每日一猜6月9日答案分享 活动问题:环球影城大酒店有几种主题房? 活动答案:【2种】 注意阿拉伯数字! …

[游戏开发][Unity]Assetbundle加载篇(1)热更前准备与下载AB包清单

热更流程都不是固定的,每个人写的状态机也有所差别,但是一些必要步骤肯定不可能少,例如下载清单,对比版本,下载AB包,标记下载完成。 检查沙盒路径是否存在 public static string MakePersistentLoadPath(st…

UnityVR--组件7--动画事件BlendTree

目录 应用1:使用BlendTree实现站立和移动 应用2:人物跳跃事件&播放跳跃动画 应用3:开火动画事件&动画片段中建立事件监听 上一篇(组件5--Animation动画)已经做了2个动画片段,HeroIdle和HeroJump…

【C语言】qsort详细将解

系列文章目录 qsort目录 系列文章目录一、前言二、qosort是什么?二、qsort的使用1、原型2、参数3、头文件(1)qsort参数中的函数指针讲解 三、使用示例和运行截图1、整形例子(升序)3、字符例子(降序&#xf…

Android——使用Service服务实现通信

实验目的: (1)能创建、启动和关闭服务 (2)能实现服务的通信 实验内容及原理: 设计一个服务的具体应用,实现服务的通信 实验设备及实验步骤: 实验设备:WindowsAndro…

VPS 和GPS 、SLAM 之间的爱恨情仇

注:该文章首发3D视觉工坊,链接如下3D视觉工坊 VPS 、GPS 、SLAM 的区别与联系 首先简单的阐述一下三者的定义: VPS全称为Visual Positioning System,即视觉定位系统。手机端(移动时代)的VPS首次出现时间节点为2019年&…

Linux 负载均衡集群 LVS_NAT模式 LVS_DR模式

集群 由多台主机组成,只做一件事,对外表现为一个整体。 只干一件事 :集群 干不同的事:分布式 企业集群分类 负载均衡群集(load balance cluster) 提高系统响应效率,处理更多的访问请…

Qt6 C++基础入门3 对话框与MainWindow

目录 对话框MainWindow菜单工具栏 对话框 目前的对话框主要有以下几大类 文件对话框( QFile Dialog)消息对话框( QMessageBox)输入对话框( QInputDialog)颜色对话框( QColorDialog)字体对话框( QFontDialog) 这是七大对话框及其基本用法的实例参考,所有代码都写在…

《星岛日报》专访:欧科云链AML,助力数字资产合规及风险防控

6月1日,香港《适用于虚拟资产交易平台营运者的指引》及《打击洗钱指引》正式施行,香港虚拟资产发牌制度正式生效。作为深耕香港市场多年的Web3科技企业,欧科云链OKLink也正式推出的Onchain AML反洗钱合规解决方案,利用多年积累的海…

Windows下安装python和pip

Windows下安装python和pip 1、安装python 注意:windows10 安装时强烈建议不用使用 Windows Store 安装。避免后期python运行时牵扯权限相关问题。 具体步骤: 1、前往python官网下载windows python 安装包 下载文件 2、双击运行安装(强力…

实时日志滚动显示 springboot+vue3

-:后端使用ssemiter保持客户端链接:http 这里不用websocket的原因是,sse很轻,整合方便,可发送日志,消息,群发等都可以。 -:前端使用vue3+ansi_up做页面展示 第一: 刷新页面导致session问题 可以在java的session中记录,如果是同一个客户重新链接的话,直接返回java…

【轴承故障诊断】用于轴承故障诊断的集中时频分析研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

SQL SERVER case when的使用方法

一、case when的使用方法 Case具有两种格式。简单Case函数和Case搜索函数。 第一种 格式 : 简单Case函数 : 格式说明     case 列名     when 条件值1 then 选项1     when 条件值2 then 选项2…     else 默认值 end eg:     select     case   job…

2021年国赛高教杯数学建模B题乙醇偶合制备C4烯烃解题全过程文档及程序

2021年国赛高教杯数学建模 B题 乙醇偶合制备C4烯烃 原题再现 C4 烯烃广泛应用于化工产品及医药的生产,乙醇是生产制备 C4 烯烃的原料。在制备过程中,催化剂组合(即:Co 负载量、Co/SiO2 和 HAP 装料比、乙醇浓度的组合&#xff0…

JUC源码分析:通过ReentrantLock阅读AbstractQueuedSynchronizer源码

一、概述 ReentrantLock进行上锁的流程如下图所示,我们将按照下面的流程分析ReentrantLock上锁的流程,在此过程中阅读AbstractQueuedSynchronizer源码。 AQS 的数据结构如下图所示。 AQS大家还记得吗?最核心的是它的一个共享的int类型值叫做…

电脑自动关机是什么原因?如何解决?

案例:有时候我的电脑用着就突然关机,会导致一些没有保存的文件丢失。有没有小伙伴知道电脑为什么会自动关机?怎样做才能避免这个问题? 在使用电脑过程中,遇到电脑自动关机的问题是很常见的。当我们在进行重要任务时&a…

Netty核心源码剖析(四)

1.Netty心跳(heartbeat)服务源码剖析 1>.Netty作为一个网络框架,提供了诸多功能,比如编码解码等,Netty还提供了非常重要的一个服务–心跳机制heartbeat.通过心跳检查对方是否有效,这是RPC框架中是必不可少的功能.下面我们分析一下Netty内部心跳服务源码实现; 2>.Netty提…