docker部署springboot项目(二):基于java8构建springboot项目

前面我们基于ubuntu基础镜像,添加任意自己需要的安装包,构建镜像,但是还是比较麻烦。所以大多数情况下,我们还可以在一些安装了部分软件的基础镜像上构建新的镜像。

需求:基于java-8-docker镜像,将一个Java项目构建为镜像

1、打包springboot项目

我们的springboot项目构建打包之后的项目名也是可以重新命名的,在项目依赖文件 pom.xml 里面的 build标签里面添加一个 finalName 标签,然后在该标签里面添写需要的项目名。

docker部署springboot项目(二):基于java8构建springboot项目_第1张图片


<finalName>swdx-systemfinalName>

在打包项目之前,记得更改数据库的 连接地址需要连接的数据库数据库的用户名 以及 密码
我使用的数据库是 mysql !!!

docker部署springboot项目(二):基于java8构建springboot项目_第2张图片

通过maven仓库管理工具的 package 功能对当前springboot项目进行打包,打包完成之后在项目的 target 目录可以看到一个 xxx.jar 的文件。

docker部署springboot项目(二):基于java8构建springboot项目_第3张图片

2、基于java8构建java项目

2.1、新建空文件夹

在虚拟机新建一个空文件夹,接下来需要用到,我新建的文件夹是 docker-swdx

mkdir 文件夹名

docker部署springboot项目(二):基于java8构建springboot项目_第4张图片

2.2、上传项目jar包

将项目打包后的jar包上传到刚刚新建的空文件夹里面

docker部署springboot项目(二):基于java8构建springboot项目_第5张图片

2.3、新建Dockerfile文件

Dockerfile这个文件是需要我们手动去新建的。

docker部署springboot项目(二):基于java8构建springboot项目_第6张图片

创建完成之后,鼠标右键该文件,找到文件权限,然后会弹出来一个修改文件权限的框框,我这里是将所有权限都给勾选上了,目的是为了防止文件配置完成之后出现一个权限方面的问题,避免踩坑!!!

docker部署springboot项目(二):基于java8构建springboot项目_第7张图片

docker部署springboot项目(二):基于java8构建springboot项目_第8张图片

2.4、添加Dockerfile配置信息

# 指定java8基础镜像
FROM xetys/java-8-docker
# 拷贝java项目的包
COPY ./swdx-system.jar /tmp/swdx-system.jar
# 暴露端口
EXPOSE 8418
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/swdx-system.jar

2.5、构建项目镜像

注意:在构建镜像之前,先删除之前运行的容器,否则会出现端口号冲突!!!

docker build -t 项目名:版本号 保存的目录
# 示例
docker build -t swdx-system:1.1 .

docker部署springboot项目(二):基于java8构建springboot项目_第9张图片
图中圈红的就是通过Dockerfile文件构建的项目镜像。

2.6、运行项目镜像

docker run --name 给容器命名 -p 宿主机的端口号:容器的端口号 -d 镜像仓库名(镜像名):版本号
docker run --name swdx-system1.1 -p 8418:8418 -d swdx-system:1.1
  1. 给容器命名,我们在查看容器进程时,可以在names里面看到。
  2. -p 8418:8418 -p是指定端口 即表示宿主机的8418端口映射到容器的8418端口。

3、测试已构建java项目

由于我所构建的java项目,在访问时需要携带token,所以我这里就用postman去测试下接口。

登录是使用jwt做的单点登录,这里通过用户名和密码访问后端接口生成token。

docker部署springboot项目(二):基于java8构建springboot项目_第10张图片
我携带token测试了一个查询数据的接口方法。

docker部署springboot项目(二):基于java8构建springboot项目_第11张图片

从这里我们可以看到,正常返回数据,那我们基于Ubuntu构建的java项目就没有问题了。

你可能感兴趣的:(java,docker,spring,boot,java)