dreamer-cms docker复现

dreamer-cms docker复现

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

前言

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

一,赛题复现

题目很简单,就放一张图片意思一下。奇安信也有原文,一搜就看得到。
dreamer-cms docker复现_第1张图片

二,人生第一个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这个路径就创建一个)
dreamer-cms docker复现_第2张图片

(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如下
dreamer-cms docker复现_第3张图片
修改application-prd.yml如下
dreamer-cms docker复现_第4张图片

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

(5)打包并本地测试

右键package,执行构建
dreamer-cms docker复现_第7张图片
将打好的Jar包会生成在target目录下面,将它上传到/opt/programs/目录下。
dreamer-cms docker复现_第8张图片
java -jar dreamer-cms.jar就可以了(logs是运行生成的结果)。
dreamer-cms docker复现_第9张图片
至此,本地就搭建好了。

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
dreamer-cms docker复现_第10张图片
commit一下这个容器,获得镜像
在这里插入图片描述
收工!

三,总结

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

你可能感兴趣的:(wp篇,经验,docker,java,容器)