天天看点

Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收藏

云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的技术,现在看来其实很多新技术是没有必要使用的,但做为学习案例来讲确实是一个绝佳的 Spring Boot 实践。

从开源到现在,写了一些教程给大家介绍如何部署云收藏,如何在IDE中运行云收藏,但是仍然有很多的朋友不知道如何使用,如何部署?就像“请提供一份云收藏数据结构” 这样的问题我至少都回答了一百多次,并且在 github 关闭了近十个类似的问题。

这也从另外一个方面可以看出,部署云收藏项目对一些朋友还是比较复杂,现在有了 Docker 我们就可以愉快的解决这个问题,只需三步就可以部署云收藏项目,打造专属个人的收藏系统。

云收藏是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章,可以作为稍后阅读的一个临时存放。作为一个开放开源的软件,可以让用户从浏览器将收藏夹内容导入到云收藏,也支持随时将云收藏收集的文章导出去做备份。

产品主页

<a href="http://favorites.ren/">http://favorites.ren</a>

项目主页

<a href="https://github.com/cloudfavorites/favorites-web">https://github.com/cloudfavorites/favorites-web</a>

产品截图

Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收藏

核心功能点:

收藏、分类、检索文章

导出、导出(包活从浏览器中)

可以点赞、分享、讨论

注册、登录、个人账户

临时收藏、查看别人收藏

其它...

项目使用技术:

Vue

Bootstrap

jQuery

Thymeleaf

Spring Data Jpa

Spring Boot Mail

WebJars

Mysql

Tomcat

Redis

Redis 后期去掉是由于服务器资源有限和部署麻烦

依赖环境

准备一台系统为 Centos 7 以上的服务器,系统需要安装 Docker 和 Docker Compos 环境,安装方法可以参考前面两篇文章:

<a href="http://www.ityouknow.com/docker/2018/03/07/docker-introduction.html">Docker(一):Docker入门教程</a>

<a href="http://www.ityouknow.com/docker/2018/03/22/docker-compose.html">Docker(四):Docker 三剑客之 Docker Compose</a>

Docker 化改造

项目改造后的项目机构图如下:

Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收藏

<code>docker-compose.yaml</code> 文件

我们首先来看一下<code>docker-compose.yaml</code>文件:

相对上一篇内容本次的<code>docker-compose.yaml</code>文件主要新增了两部分的内容:

1、将 Nginx 和 app 的日志映射到宿主机上,方便我们查看日志

2、将 Mysql 的数据存储映射到宿主机上,这样的好处是不至于将集群关掉之后数据丢失

<code>docker-compose.yaml</code>文件中,日志部分:

分别将 Nginx 和云收藏项目日志映射到宿主机的<code>/tmp/logs</code>,方便我们查看项目日志。

定制 mysql 初始化信息

<code>docker-compose.yaml</code>文件中,Mysql 变化内容:

我将有变化的内容都摘了出来,mysql 新增了 TZ 环境变量将时区指向上海,另外我们将 Mysql 镜像内容提出来,放到项目的 mysql 目录下单独构建。mysql 目录下有两个文件,一个是 Dockerfile 定义 Mysql 镜像,一个是 my.cnf 文件定义 Mysql 编码等信息。

my.cnf 文件内容

此文件主要的作用是让 Mysql 支持 UTF-8.

Dockerfile 文件内容

使用 Mysql5.7 版本,并且将同目录下的 my.cnf 拷贝到服务器<code>/etc/my.cnf</code>中

这样 Mysql 的相关信息就定义好了。

其它

其它内容变化不大,nginx 目录下存放着 Nginx 的配置文件,项目新增<code>application-docker.properties</code>文件,将数据库连接部分修改即可。

改造完成之后,我们只需要将项目拷贝到部署服务器然后执行:<code>docker-compose up</code>就可以启动。

我已经将项目的改造内容提交到 github 上面,这样大家部署的时候仅需要三步,即可成功部署云收藏项目。

1、下载源码解压

下载最新发布版本

解压

进入目录

2、修改配置文件

修改文件<code>application-docker.properties</code>

修改内容如下

地址为部署服务器的地址

3、启动项目

配置完成后,后台启动

启动完成后,浏览器访问上面配置地址:<code>http://xx.xxx.xx.xx/</code>,就可以看到云收藏的首页了。

辅助内容

启动后想查看某个容器内的服务运行情况,可以使用以下命令进入:

使用<code>docker ps</code>查看宿主机上面运行的 Docker 容器

根据上面查询的 Docker 容器 ID 信息,执行下面命令

退出容器执行以下命令:

这样以后如果我们想部署云收藏项目就变的非常简单,仅仅需要三步可以愉快的搭建自己的收藏系统了,小伙伴们赶紧动起手来。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本文如对您有帮助,还请多帮 <b>【推荐】</b> 下此文。

如果喜欢我的文章,请关注我的公众号