“ 本篇就開始操作怎麼部署一個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源創計劃”,歡迎正在閱讀的你也加入,一起分享。