利用Docker部署SpringBoot應用程序

 本篇就開始操作怎麼部署一個SpringBoot項目到Docker中,Docker實現SpringBoot項目的部署。


先構建一個SpingBoot項目。

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



創建一個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',查看返回結果




當前工程構建完成。在 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 .
執行完成後查看本地鏡像列表

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

訪問 http://localhost:8080/hello/CainGao


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

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

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


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



關注公衆號,回覆大數據相關關鍵詞獲取相關視頻教程,如elasticsearch,即可獲取!    公衆號搜索:<指尖數蟲>

本文分享自微信公衆號 - 指尖數蟲(zhijianshuchong)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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