1. 程式人生 > >利用Docker部署SpringBoot應用程式

利用Docker部署SpringBoot應用程式

我們已經安裝完成了Java環境,那麼本篇就開始怎麼部署一個SpringBoot專案到Docker中,Docker實現SpringBoot專案的部署。

首先構建一個SpingBoot專案。

進入 http://start.spring.io,使用Maven的方式快速構建一個springboot工程 image

建立一個HelloWorldController用於接收請求與返回響應

@RequestMapping(value = "hello")
@RestController
public class HelloWorldController {
    @RequestMapping(value = "/{msg}")
    public String hello(@PathVariable String msg){

        return "Hello:\t"+msg;
    }
}

啟動SpringBoot工程,傳送請求 'http://localhost:8080/hello/CainGao',檢視返回結果
image
當前工程構建完成。 在 pom.xml 中新增docker支援 映象名稱

<properties>
        <docker.image.prefix>springboot</docker.image.prefix>
</properties>

新增外掛

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!-- Docker maven plugin -->
        <plugin>
             <groupId>com.spotify</groupId>
              <artifactId>docker-maven-plugin</artifactId>
              <version>0.4.13</version>
              <configuration>
                  <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                  <dockerDirectory>src/main/docker</dockerDirectory>
                  <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                  </resources>
              </configuration>
          </plugin>
    </plugins>
</build>

建立Dockerfile

FROM openjdk:11
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar /demo.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/demo.jar"]

FROM: 代表IMAGE的父映象
VALUME: 掛載本地的路徑
ADD: 為映象新增的內容
ENTRYPOINT: 執行的指令碼命令

把Dockerfile 與jar包放到同一路徑下,執行命令 docker build -t helloworld .
image

執行完成後檢視本地映象列表

現在即可直接使用命令 docker run -d -p 8080:8080 helloworld 啟動容器。

當然,還有更加簡單的方式進行容器的部署。直接通過maven外掛的方式來進行,本次其實我們是沒有使用的。因為需要Docker開啟遠端訪問。

當前我們使用的windows的docker desktop版,右鍵開啟Settings-->General-->勾選 Expose daemon on tcp://localhost:2375 without TLS,勾選後Docker會直接進行重啟載入。

訪問 http://localhost:2375/info 檢視是否啟動成功. image當前即可直接使用命令 mvn package docker:build 進行構建. image

 

此刻應該大家都實現了直接基於該Dockerfile與maven的方式部署SpringBoot應用到Docker中。

 

關注公眾號,回覆大資料相關關鍵詞獲取相關視訊教程,如elasticsearch,即可獲取!    公眾號搜尋:<指