日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot 2.0(四):使用 Docker 部署 Spring Boot

發布時間:2025/3/21 javascript 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot 2.0(四):使用 Docker 部署 Spring Boot 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker 技術發展為微服務落地提供了更加便利的環境,使用 Docker 部署 Spring Boot 其實非常簡單,這篇文章我們就來簡單學習下。

首先構建一個簡單的 Spring Boot 項目,然后給項目添加 Docker 支持,最后對項目進行部署。

一個簡單 Spring Boot 項目

在?pom.xml?中 ,使用 Spring Boot 2.0 相關依賴

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version> </parent>
  • 1
  • 2
  • 3
  • 4
  • 5

添加 web 和測試依賴

<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> </dependencies>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

創建一個 DockerController,在其中有一個index()方法,訪問時返回:Hello Docker!

@RestController public class DockerController {@RequestMapping("/")public String index() {return "Hello Docker!";} }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

啟動類

@SpringBootApplication public class DockerApplication {public static void main(String[] args) {SpringApplication.run(DockerApplication.class, args);} }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

添加完畢后啟動項目,啟動成功后瀏覽器放問:http://localhost:8080/,頁面返回:Hello Docker!,說明 Spring Boot 項目配置正常。

Spring Boot 項目添加 Docker 支持

在?pom.xml-properties中添加 Docker 鏡像名稱

<properties><docker.image.prefix>springboot</docker.image.prefix> </properties>
  • 1
  • 2
  • 3

plugins 中添加 Docker 構建插件:

<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>1.0.0</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><!-- Docker maven plugin --></plugins> </build>
  • 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

在目錄src/main/docker下創建 Dockerfile 文件,Dockerfile 文件用來說明如何來構建鏡像。

FROM openjdk:8-jdk-alpine VOLUME /tmp ADD spring-boot-docker-1.0.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  • 1
  • 2
  • 3
  • 4

這個 Dockerfile 文件很簡單,構建 Jdk 基礎環境,添加 Spring Boot Jar 到鏡像中,簡單解釋一下:

  • FROM ,表示使用 Jdk8 環境 為基礎鏡像,如果鏡像不是本地的會從 DockerHub 進行下載
  • VOLUME ,VOLUME 指向了一個/tmp的目錄,由于 Spring Boot 使用內置的Tomcat容器,Tomcat 默認使用/tmp作為工作目錄。這個命令的效果是:在宿主機的/var/lib/docker目錄下創建一個臨時文件并把它鏈接到容器中的/tmp目錄
  • ADD ,拷貝文件并且重命名
  • ENTRYPOINT ,為了縮短 Tomcat 的啟動時間,添加java.security.egd的系統屬性指向/dev/urandom作為 ENTRYPOINT

這樣 Spring Boot 項目添加 Docker 依賴就完成了。

構建打包環境

我們需要有一個 Docker 環境來打包 Spring Boot 項目,在 Windows 搭建 Docker 環境很麻煩,因此我這里以 Centos 7 為例。

安裝 Docker 環境

安裝

yum install docker
  • 1

安裝完成后,使用下面的命令來啟動 docker 服務,并將其設置為開機啟動:

ervice docker start chkconfig docker on#LCTT 譯注:此處采用了舊式的 sysv 語法,如采用CentOS 7中支持的新式 systemd 語法,如下: systemctl start docker.service systemctl enable docker.service
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用Docker 中國加速器

vi /etc/docker/daemon.json#添加后: {"registry-mirrors": ["https://registry.docker-cn.com"],"live-restore": true }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

重新啟動docker

systemctl restart docker
  • 1

輸入docker version?返回版本信息則安裝正常。

安裝JDK

yum -y install java-1.8.0-openjdk*
  • 1

配置環境變量?
打開?vim /etc/profile?
添加一下內容

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 export PATH=$PATH:$JAVA_HOME/bin
  • 1
  • 2

修改完成之后,使其生效

source /etc/profile
  • 1

輸入java -version?返回版本信息則安裝正常。

安裝MAVEN

下載:http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz

## 解壓 tar vxf apache-maven-3.5.2-bin.tar.gz ## 移動 mv apache-maven-3.5.2 /usr/local/maven3
  • 1
  • 2
  • 3
  • 4

修改環境變量, 在/etc/profile中添加以下幾行

MAVEN_HOME=/usr/local/maven3 export MAVEN_HOME export PATH=${PATH}:${MAVEN_HOME}/bin
  • 1
  • 2
  • 3

記得執行source /etc/profile使環境變量生效。

輸入mvn -version?返回版本信息則安裝正常。

這樣整個構建環境就配置完成了。

使用 Docker 部署 Spring Boot 項目

將項目?spring-boot-docker?拷貝服務器中,進入項目路徑下進行打包測試。

#打包 mvn package #啟動 java -jar target/spring-boot-docker-1.0.jar
  • 1
  • 2
  • 3
  • 4

看到 Spring Boot 的啟動日志后表明環境配置沒有問題,接下來我們使用 DockerFile 構建鏡像。

mvn package docker:build
  • 1

第一次構建可能有點慢,當看到以下內容的時候表明構建成功:

... Step 1 : FROM openjdk:8-jdk-alpine---> 224765a6bdbe Step 2 : VOLUME /tmp---> Using cache ---> b4e86cc8654e Step 3 : ADD spring-boot-docker-1.0.jar app.jar---> a20fe75963ab Removing intermediate container 593ee5e1ea51 Step 4 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar---> Running in 85d558a10cd4 ---> 7102f08b5e95 Removing intermediate container 85d558a10cd4 Successfully built 7102f08b5e95 [INFO] Built springboot/spring-boot-docker [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 54.346 s [INFO] Finished at: 2018-03-13T16:20:15+08:00 [INFO] Final Memory: 42M/182M [INFO] ------------------------------------------------------------------------
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

使用docker images命令查看構建好的鏡像:

docker images REPOSITORY TAG IMAGE ID CREATED SIZE springboot/spring-boot-docker latest 99ce9468da74 6 seconds ago 117.5 MB
  • 1
  • 2
  • 3

springboot/spring-boot-docker?就是我們構建好的鏡像,下一步就是運行該鏡像

docker run -p 8080:8080 -t springboot/spring-boot-docker
  • 1

啟動完成之后我們使用docker ps查看正在運行的鏡像:

docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 049570da86a9 springboot/spring-boot-docker "java -Djava.security" 30 seconds ago Up 27 seconds 0.0.0.0:8080->8080/tcp determined_mahavira
  • 1
  • 2
  • 3

可以看到我們構建的容器正在在運行,訪問瀏覽器:http://192.168.0.x:8080/,返回

Hello Docker!
  • 1

說明使用 Docker 部署 Spring Boot 項目成功!

示例代碼-github

示例代碼-碼云

總結

以上是生活随笔為你收集整理的Spring Boot 2.0(四):使用 Docker 部署 Spring Boot的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费看黄色三级三级 | 99精品乱码国产在线观看 | www亚洲国产 | 午夜福利理论片在线观看 | 日本少妇大战黑人 | 亚洲精品中文字幕 | 国产欧美一区二区三区精华液好吗 | 亚洲免费视频播放 | 亚洲精品尤物 | 五月婷婷六月综合 | 国产一区二区三区久久 | 亚洲欧美乱日韩乱国产 | 69一区二区 | 橹图极品美女无圣光 | 天天干夜夜看 | 日本黄区免费视频观看 | 射一射 | 136福利视频导航 | 国产色拍 | 超碰人人擦 | 欧美射射射 | 免费精品在线观看 | 国产熟女一区二区丰满 | 日批在线 | 欧美日韩激情在线观看 | 麻豆国产一区二区三区四区 | 日韩r级电影在线观看 | 精品国产乱码久久久久久蜜臀网站 | 极品粉嫩小仙女高潮喷水久久 | 日本一卡二卡在线 | 欧美一级淫片 | bl无遮挡高h动漫 | 日本少妇激三级做爰在线 | 国产精品探花在线观看 | 欧洲精品免费一区二区三区 | 免费一区二区三区四区 | 中文字幕日韩有码 | 亚洲逼 | 深夜激情网 | 香蕉网久久 | 毛片88| 欧美成人动态图 | 日本妇女毛茸茸 | 亚洲熟妇av日韩熟妇在线 | 国产激情在线 | 国产精品一区久久久 | 亚洲图片欧美日韩 | 国产69久久| 亚洲精品国产精品国自产观看浪潮 | 麻豆视频传媒入口 | 欧美日韩精品一区二区 | www天天干| 精品无人国产偷自产在线 | 亚洲妇女无套内射精 | 激烈娇喘叫1v1高h糙汉 | 中文字幕日韩在线视频 | 国内自拍小视频 | 欧美日韩在线国产 | 国产精品成人无码免费 | 亚洲国产中文在线 | 亚洲精品久久久久国产 | 免费毛片在线播放免费 | 粗大挺进潘金莲身体在线播放 | 国产一二三视频 | 最新的黄色网址 | 亚洲视频一区二区 | ass极品水嫩小美女ass | 亚洲色图19p | 九九三级 | 麻豆porn | 久久黄色视屏 | 在线观看视频一区二区 | 色涩涩 | 涩涩网站在线 | 亚洲精品乱码久久久久久国产主播 | 中国av免费看 | 精品久久久久一区二区 | 少妇高潮一区二区三区99刮毛 | 91大神小宝寻花在线观看 | 国产欧美一区二区三区沐欲 | 中文字幕女同女同女同 | 国产精品久久AV无码 | 日韩网站在线 | 国产crm系统91在线 | 五月天婷婷色综合 | 亚洲国产高清在线 | 高跟鞋调教—视频|vk | 9999av| 日韩一区二区毛片 | 欧美成在线视频 | 日日摸天天添天天添破 | 亚洲xxxx天美 | www.youjizz.com国产 | 亚洲破处视频 | 在线免费播放 | 欧美一级片在线播放 | 日韩狠狠| 亚洲综合成人网 | 女人看黄色网 |