Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务

本篇为Docker从入门到掉坑第二篇:基于Docker构建SpringBoot微服务

在之前的文章里面介绍了如何基于docker容器部署一些常见的基础环境,例如MySQL、Redis这些,那么这篇文章里面我会介绍一些关于SpringBoot如何打包运行到docker容器中。

先介绍一下需要准备的基础环境内容:

1.一台centos机器

docker运行在centos7上,要求系统为64位,Linux内核版本为3.10以上

docker运行在centos6.5或更高的版本上,要求系统为64位,系统内核版本为2.6.32-431或更高版本

关于如何查看当前系统的内核版本可以通过uname指令来查询:

2.一份基础的SpringBoot项目代码

首先我们来构建一个简单的springboot模板项目,下边这份是相关的依赖文件:

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第1张图片
Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第2张图片

注意,这里有几个配置点需要仔细注意一下,在上边的maven配置中有一条叫做dockerDirectory的属性配置:

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第3张图片

这条属性对应的是指Dockerfile文件所存放的位置:

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第4张图片

注意有坑:

在src/main/docker的目录底下需要我们编写一份叫做Dockerfile的文件,注意这份Dockerfile文件的命名一定不能修改,否则会识别不出来,导致后边会抛出下边这种异常:

Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project docker-springboot:

Exception caught: Request error: POST unix://localhost:80/build?t=springboot%2Fdocker-springboot: 500, body:

{"message":"Cannot locate specified Dockerfile: Dockerfile"}: HTTP 500 Internal Server Error -> [Help 1]

这份Dockerfile文件需要用特殊的语法规则来进行编写,这里我给出一份基础的Dockerfile文件模板:

稍微解释一下这里的语义含义:

FROM [image]指需要依赖的其他镜像信息,这里选择了jdk镜像

对于不熟悉的镜像环境如果需要搜索可以去到docker的官方网站进行查看:

https://hub.docker.com/

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第5张图片

在这里插入图片描述

ADD 源地址目标地址 是指将原先的src文件 添加到我们需要打包的镜像里面

VOLUME /tmp Spring Boot应用程序为Tomcat创建的默认工作目录。作用是在你的主机”/var/lib/docker”目录下创建一个临时的文件,并且链接到容器中的”/tmp”目录。这部分的内容可以进入相应的目录下边去详细查看:

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第6张图片

ENTRYPOINT 这条指令的含义是说执行应用的时候默认传输的命令内容。

SpringBoot的代码也比较简单,分别是Application启动类:

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第7张图片

以及相应的SpringBoot控制器:

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第8张图片

application.yml文件信息:

3.服务器上边需要安装maven和docker环境

关于docker的环境安装,在上一篇文章中已经讲解到了,没看上一篇的,点这里:Docker 从入门到掉坑。

maven的环境安装讲解:

首先需要选择自己机器上边的安装地址,然后下载相应的文件包,并且进行解压:

然后我们进行相应的环境变量配置:

记得刷新一下profile配置文件

最后记得验证一下maven的配置是否正常:

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第9张图片

一切就绪了,现在我们来将原先的准备好的一份SpringBoot项目上传到centos机器里面,然后通过maven的命令进行打包:

当构建成功之后会有以下信息出现:

Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务_第10张图片

接着我们便可以通过熟悉的docker images命令来查看当前的镜像内容了:

最后便是启动我们的镜像文件,并且进行测试:

启动成功之后,我们通过命令进行测试接口:

好了,一个基本的基于docker容器运行的SpringBoot容器构建到这里就告一段落了。

关注我,私信回复“资料”获取面试宝典《Java核心知识点整理.pdf》“,覆盖了JVM、锁、高并发、反射、Spring原理、微服务、Zookeeper、数据库、数据结构等等”,还有Java208道面试题(含答案)的免费领取方式!

你可能感兴趣的:(Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务)