Docker 部署 Spring Boot,會不會?

<推薦閱讀>

1. 字節跳動的面試難嗎?我該如何應對?

2. 挑戰10個最難回答的Java面試題,你能答對幾個?

3. 秋招Java崗:最全的BAT大廠面試題整理!

Docker 技術發展爲微服務落地提供了更加便利的環境,使用 Docker 部署 Spring Boot 其實非常簡單,這篇文章我們就來簡單學習下。

首先構建一個簡單的 Spring Boot 項目,然後給項目添加 Docker 支持,最後對項目進行部署。

01 一個簡單 Spring Boot 項目

(1)在pom.xml中 ,使用 Spring Boot 2.0 相關依賴

(2)添加 web 和測試依賴

(3)創建一個 DockerController,在其中有一個index()方法,訪問時返回:Hello Docker!

(4)啓動類

添加完畢後啓動項目,啓動成功後瀏覽器放問:http://localhost:8080/,頁面返回:Hello Docker!,說明 Spring Boot 項目配置正常。

02 Spring Boot 項目添加 Docker 支持

(1)在pom.xml-properties 中添加 Docker 鏡像名稱

(2)plugins 中添加 Docker 構建插件

(3)在目錄src/main/docker下創建 Dockerfile 文件,Dockerfile 文件用來說明如何來構建鏡像

這個 Dockerfile 文件很簡單,構建 Jdk 基礎環境,添加 Spring Boot Jar 到鏡像中,簡單解釋一下:

① FROM ,表示使用 Jdk8 環境 爲基礎鏡像,如果鏡像不是本地的會從 DockerHub 進行下載

② VOLUME ,VOLUME 指向了一個/tmp的目錄,由於 Spring Boot 使用內置的Tomcat容器,Tomcat 默認使用/tmp作爲工作目錄。這個命令的效果是:在宿主機的/var/lib/docker目錄下創建一個臨時文件並把它鏈接到容器中的/tmp目錄

③ ADD ,拷貝文件並且重命名

④ ENTRYPOINT ,爲了縮短 Tomcat 的啓動時間,添加java.security.egd的系統屬性指向/dev/urandom作爲 ENTRYPOINT

這樣 Spring Boot 項目添加 Docker 依賴就完成了。

03 構建打包環境

我們需要有一個 Docker 環境來打包 Spring Boot 項目,在 Windows 搭建 Docker 環境很麻煩,因此我這裏以 Centos 7 爲例。

3.1 安裝 Docker 環境

(1)安裝

(2)安裝完成後,使用下面的命令來啓動 docker 服務,並將其設置爲開機啓動

(3)使用Docker 中國加速器

(4)重新啓動docker

輸入docker version返回版本信息則安裝正常。

3.2 安裝JDK

(1)配置環境變量 打開vim /etc/profile添加一下內容

(2)修改完成之後,使其生效

輸入java -version返回版本信息則安裝正常。

3.3 安裝MAVEN

下載:http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz

修改環境變量, 在/etc/profile中添加以下幾行

記得執行source /etc/profile使環境變量生效。

輸入mvn -version返回版本信息則安裝正常。

這樣整個構建環境就配置完成了。

04 使用 Docker 部署 Spring Boot 項目

(1)將項目spring-boot-docker拷貝服務器中,進入項目路徑下進行打包測試。

(2)看到 Spring Boot 的啓動日誌後表明環境配置沒有問題,接下來我們使用 DockerFile 構建鏡像。

(3)第一次構建可能有點慢,當看到以下內容的時候表明構建成功

(4)使用docker images命令查看構建好的鏡像

(5)springboot/spring-boot-docker就是我們構建好的鏡像,下一步就是運行該鏡像

(6)啓動完成之後我們使用docker ps查看正在運行的鏡像

可以看到我們構建的容器正在在運行,訪問瀏覽器:http://192.168.0.x:8080/,返回

說明使用 Docker 部署 Spring Boot 項目成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章