天天看點

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> 下此文。

如果喜歡我的文章,請關注我的公衆号