国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - spring Boot 應用通過Docker 來實現構建、運行、發布流程

spring Boot 應用通過Docker 來實現構建、運行、發布流程

2021-02-21 10:51請叫我小東子 Java教程

這篇文章主要介紹了spring Boot 應用通過Docker 來實現構建、運行、發布流程,圖文詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

1. docker 簡介

docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。docker image 是用于運行容器化進程的方案,在本文中,我們將構建一個簡單的 spring boot 應用程序。

2.環境搭建

jdk 1.8+
maven 3.0+

docker 最新版。

3.用 maven 構建項目

3.1 創建目錄結構

?
1
mkdir -p src/main/java/com/lidong/demo

在linux或者mac系統中。

spring Boot 應用通過Docker 來實現構建、運行、發布流程

3.2 創建 pom.xml 文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
  xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelversion>4.0.0</modelversion>
 <groupid>com.lidong.demo</groupid>
 <artifactid>lidong-spring-boot-demo</artifactid>
 <version>1.0-snapshot</version>
 <parent>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-parent</artifactid>
 <version>1.5.1.release</version>
 <relativepath/>
 </parent>
 <properties>
 <project.build.sourceencoding>utf-8</project.build.sourceencoding>
 <project.reporting.outputencoding>utf-8</project.reporting.outputencoding>
 <java.version>1.8</java.version>
 <docker.image.prefix>springio</docker.image.prefix>
 </properties>
 <dependencies>
 <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>
 <dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-thymeleaf</artifactid>
 </dependency>
 </dependencies>
 <build>
 <plugins>
  <plugin>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-maven-plugin</artifactid>
  </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>
</project>

注意:

spring boot maven plugin 提供了很多方便的功能:

1)它收集的類路徑上所有 jar 文件,并構建成一個單一的、可運行的jar,這使得它更方便地執行和傳輸服務。

2)它搜索的 public static void main() 方法來標記為可運行的類。

3)它提供了一個內置的依賴解析器,用于設置版本號以匹配 spring boot 的依賴。您可以覆蓋任何你想要的版本,但它會默認

選擇的 boot 的版本集。

spotify 的 docker-maven-plugin 插件是用于構建 maven 的 docker image

1)imagename指定了鏡像的名字,本例為 springio/lidong-spring-boot-demo

2)dockerdirectory指定 dockerfile 的位置

3)resources是指那些需要和 dockerfile 放在一起,在構建鏡像時使用的文件,一般應用 jar 包需要納入。

4.編寫 第一個spring boot 應用

編寫一個簡單的 spring boot 應用 :

src/main/java/com/lidong/demo/samplecontroller.java:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.lidong.demo;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.responsebody;
/**
 * @項目名稱:lidong-dubbo
 * @類名:samplecontroller
 * @類的描述:
 * @作者:lidong
 * @創建時間:2017/2/19 上午9:34
 * @公司:chni
 * @qq:1561281670
 * @郵箱:lidong1665@163.com
 */
@controller
@springbootapplication
public class samplecontroller {
 @responsebody
 @requestmapping(value = "/")
 string home(){
 return "hello docker world";
 }
 public static void main(string[] args) {
 springapplication.run(samplecontroller.class,"--server.port=8081");
 }
}

類用 @springbootapplication @restcontroller 標識,可用 spring mvc 來處理 web 請求。
@requestmapping 將 / 映射到 home() ,并將”hello docker world” 文本作為響應。
main() 方法使用 spring boot 的 springapplication.run() 方法來啟動應用。

5.運行程序

5.1使用maven命令

mvn package

運行:

?
1
java -jar target/lidong-spring-boot-demo-1.0-snapshot.jar

訪問項目

如果程序正確運行,瀏覽器訪問 http://localhost:8081/,可以看到頁面 “hello docker world.” 字樣。

5.2 使用idea 插件

spring Boot 應用通過Docker 來實現構建、運行、發布流程

6.將項目容器化

docker 使用 dockerfile 文件格式來指定 image 層,

創建文件 src/main/docker/dockerfile:

?
1
2
3
4
5
6
from frolvlad/alpine-oraclejdk8:slim
volume /tmp
add lidong-spring-boot-demo-1.0-snapshot.jar app.jar
run sh -c 'touch /app.jar'
env java_opts=""
entrypoint [ "sh", "-c", "java $java_opts -djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

解釋下這個配置文件:

volume 指定了臨時文件目錄為/tmp。其效果是在主機 /var/lib/docker 目錄下創建了一個臨時文件,并鏈接到容器的/tmp。改步驟是可選的,如果涉及到文件系統的應用就很有必要了。/tmp目錄用來持久化到 docker 數據文件夾,因為 spring boot 使用的內嵌 tomcat 容器默認使用/tmp作為工作目錄

項目的 jar 文件作為 “app.jar” 添加到容器的

entrypoint 執行項目 app.jar。為了縮短 tomcat 啟動時間,添加一個系統屬性指向 “/dev/urandom” 作為 entropy source

構建 docker image

執行構建成為 docker image:

?
1
mvn package docker:build

運行

運行 docker image

?
1
docker run -p 8081:8081 -t springio/lidong-spring-boot-demo

spring Boot 應用通過Docker 來實現構建、運行、發布流程

看到這個spring的圖標。就以為這我們在docker 上發布spring boot 程序已經完成。

接下來去訪問在瀏覽器訪問 http://localhost:8081/,可以看到頁面 “hello docker world.” 字樣。

總結

以上所述是小編給大家介紹的spring boot 應用通過docker 來實現構建、運行、發布流程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/u010046908/article/details/56008445

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 成人亚洲精品777777大片 | 在线视频自拍 | 午夜久久乐 | 中文字幕国产一区 | 一级片av | 日韩欧美国产精品综合嫩v 日韩a∨精品日韩在线观看 | 国产日韩久久 | 夜夜爽99久久国产综合精品女不卡 | 91精品国产综合久久福利软件 | 亚洲欧美久久 | 欧美日韩激情一区 | 欧美一级二级三级 | 午夜国产精品成人 | 亚洲一区在线观看视频 | 欧美一区二区三区xxxx监狱 | 午夜成人免费电影 | 免费看黄色一级 | 亚洲日韩成人 | 国产h片在线观看 | 日韩精品视频在线 | 视频国产一区 | 欧美日韩成人 | 日韩1区 | 精品久久网| 狠狠躁夜夜躁人人爽天天天天97 | 国产中文字幕在线观看 | 久久99精品久久久久蜜臀 | 欧美自拍一区 | 午夜精品久久久久久 | 久久亚洲国产精品 | 国产午夜精品一区二区三区 | av看片网 | 欧美片网站免费 | 欧美自拍小视频 | 中文字幕在线综合 | 国产精品亚洲第一区 | 日韩精品一二三 | 亚洲一区 中文字幕 | 私人毛片免费高清视频 | 91精品国产综合久久久久久 | 亚洲综合精品 |