1. 程式人生 > >【合肥黑馬程式設計師】SpringBoot應用Docker化

【合肥黑馬程式設計師】SpringBoot應用Docker化

這是我們合肥黑馬程式設計師的老師總結的SpringBoot應用Docker化的工作原理,希望能夠幫助到各位!
概述

當下web服務端開發中最火的名詞中絕對有微服務的一席之地,其也成為當下網際網路後端服務架構演進歷程中最閃亮的技術之一。微服務的基本思想在於考慮圍繞著業務領域元件來建立應用,這些應用可獨立地進行開發、管理和加速。在分散的元件中使用微服務雲架構和平臺,使部署、管理和服務功能交付變得更加簡單。既然服務被分割和微小化了,我們很容易想到如果將其和docker結合,讓docker承載著一個個的微服務執行,如此一來將會讓服務間耦合度降低,部署簡潔,同時系統的架構也更加清晰,便於長期演進,基於此想法有了這篇文章的入門實踐!

建立基於maven的spring bt專案

pom.xml中加依賴:

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.0.0.RELEASE</version>
 <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

</dependency>



<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-test</artifactId>

    <scope>test</scope>

</dependency>

我們只需要在啟動類中新增一個簡單的restful介面就行了,為了後續瀏覽器能驗證一下,訪問/hello介面,能向瀏覽器返回一個 Hello Docker!的問好!

@RestController

public class

DockerDemoSpringApplication {

public static void main(String[] args)

{

    SpringApplication.run(DockerDemoSpringApplication.class,

args);

}



@RequestMapping("/hello")

public String hello(){

    return

“Hello! Docker!”;

}

}

編寫Dockerfile

我們在Spring Bt專案的根目錄下建立Dockerfile,用起來完成Docker映象構建的編排:

FROM maven:3.3.3

ADD pom.xml /tmp/build/

RUN cd /tmp/build &&

mvn -q dependency:resolve

ADD src /tmp/build/src

    #

構建應用

RUN cd /tmp/build &&

mvn -q -DskipTests=true

package \

拷貝編譯結果到指定目錄

mv target/*.jar /app.jar \

清理編譯痕跡

cd /

rm -rf /tmp/build

VOLUME /tmp

EXPOSE 8080

進入Docker的世界

在Spring專案根目錄下根據Dockerfile來生成docker映象

從剛建立的映象來啟動容器

開啟瀏覽器,或者使用 curl 訪問http://127.0.0.1:8080就可以看到web伺服器裡返回的Hello Docker!!!問好的字元了

至此就說明你成功將一個基於 Spring Boot 的應用 Docker 化了。