前言:

期末作业是将学期内作业系统完善,并打包成docker镜像。

阅读需求后发现本学期内我做的项目并没有满足最终需求,且前端过于简陋。

这里我选择重做一套更切合的系统,不过由于技术都曾经描述过,故问将制作镜像作为重点,对系统只进行非常简略的描述。

 

一.系统现状:

后端大框架为 SpringBoot 通过Ctrler 映射分发请求,通过Mapper操作数据库,Service负责中层业务逻辑。

数据库采用 Mysql,使用 Mybatis 与系统连接

前端使用 Vue框架。 调用后台接口展示内容。

 

二.项目打包:

首先将Vue项目请求地址改为相对地址

[作业] JavaEE final

然后编译整个Vue项目

[作业] JavaEE final

最后将输出文件夹dist中的页面全部复制到Java 项目中的 static 目录下,并执行install maven生命周期

[作业] JavaEE final

最后测试生成的Jar包

[作业] JavaEE final

可以正常运行并登录。

 

三.镜像打包

3.1 拉取官方os镜像,并部署示例,这里选择ubuntu

端口映射则指定在SpringBoot中设置的8848端口。

 

3.2 上传需要的文件

这里需要的一个是打包好的Jar包,另一个是数据库初始化脚本。

[作业] JavaEE final

[作业] JavaEE final

可以看到成功上传了文件。

 

3.3 mysql 配置

使用apt-get安装mysql,建立用户并导入初始化脚本。

[作业] JavaEE final

 

3.4 jre配置

[作业] JavaEE final

 

3.5启动项目运行

[作业] JavaEE final

可以看到在容器外映射的8848端口可以正常访问。

 

3.6 启动项配置


 测试配置启动项失败,转而编写启动脚本并改变入口点。

启动脚本构成很简单,只有两行

一是启动mysql服务

services mysql start

二是运行jar包

java -jar /wp/hw0.0.1.jar

至此,符合要求的示例构建完成。

 

3.7 镜像打包

下面将示例打包成为镜像

[作业] JavaEE final

通过commit指令可以将创建的示例打包成镜像,本例打包顺序如下

1.原示例打包成为 test/proj 镜像,产生test实例,修改入口点为启动脚本 /start.sh

2.test实例打包成为 test/submit 镜像。

 

3.8 本机回归测试

实例化一个 test/submit 镜像后台守护运行,接管8848端口。

[作业] JavaEE final

等待二十秒左右,打开浏览器,可以看到页面正常工作。

[作业] JavaEE final

本机回归正常。

 

3.9 线上回归测试

将镜像推送到云端

[作业] JavaEE final

清除本地信息并重写拉取。

[作业] JavaEE final

运行后结果与上述一致,测试通过。

 

博客地址(本文):

https://blog.csdn.net/baidu_34626913/article/details/106822507

git地址:

https://github.com/WindJ0Y/-homework-final

docker镜像名:

registry.cn-beijing.aliyuncs.com/springwinter/17301147-jeefinal:0.0.1

一句话部署:

docker run -itd --name=test -p 8848:8848 registry.cn-beijing.aliyuncs.com/springwinter/17301147-jeefinal:0.0.1

 

20秒后打开 127.0.0.1:8848 即可

 

相关文章:

  • 2021-09-05
  • 2021-12-04
  • 2021-05-27
  • 2022-01-17
  • 2021-06-25
  • 2021-10-15
  • 2021-08-06
  • 2021-07-10
猜你喜欢
  • 2021-05-15
  • 2021-06-21
  • 2021-09-06
  • 2021-09-27
  • 2021-12-09
  • 2021-07-19
  • 2021-11-06
相关资源
相似解决方案