當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
docker 打包_Springboot2.0学习11 使用maven插件打包docker部署应用
生活随笔
收集整理的這篇文章主要介紹了
docker 打包_Springboot2.0学习11 使用maven插件打包docker部署应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、本文目標
- 使用Maven插件構建SpringBoot應用的docker鏡像
- 鏡像推送至Docker Registry
- 啟動容器
本文開發環境 :
- jdk1.8
- maven
- idea
- SpringBoot2.2
- 本文使用 com.spotify 的 docker-maven-plugin插件執行docker命令。據說官方不再推薦使用該插件,而是使用 dockerfile-maven-plugin 代替。
- 本文需要提前搭建docker registry,并且設置允許 http 推送。
二、實現步驟
1. 創建SpringBoot項目
項目結構:
入口程序 HelloApplication
HelloController控制器
pom.xml設置打包插件
<?xml version="1.0" encoding="UTF-8"?>4.0.0com.xundh.springboot docker 1.0-SNAPSHOTUTF-81.81.8UTF-81.8org.springframework.boot spring-boot-starter-parent 2.2.2.RELEASEorg.springframework.boot spring-boot-starter-web 2.2.2.RELEASEhellosrc/main/resourcestrueorg.springframework.boot spring-boot-maven-plugin2. 打包并運行項目
訪問網址: http://localhost:8080/hello
看到界面輸出: hello world
3. 添加docker支持
在resources下新建Dockerfile,輸入內容:
FROM java:8MAINTAINER "xundh"<2581529@qq.com>ADD hello.jar app.jarEXPOSE 8080CMD java -jar app.jar這里,使用:
- jdk1.8
- add指令將hello.jar復制到docker容器中,重命名為app.jar
- 開啟8080端口
- 使用命令行 java -jar app.jar運行程序
4. 使用maven插件構建docker鏡像
插件配置說明:
- imageName: 鏡像的完整名稱
- dockerDirectory: 用于指定Dockerfile文件所在的目錄
- resources.resource.directory: 用于指定需要復制的根目錄
- resources.resource.include: 用于指定需要復制的文件
- ${docker.registry} 注冊中心地址
- ${project.groupId} 倉庫名稱
- ${project.artifactId} 鏡像名稱
- ${project.version} 鏡像標簽名
- ${project.build.directory} 表示target目錄
- ${project.build.finalName}.jar 生成的jar包
5. 構建鏡像
mvn docker:build# 查看鏡像 sudo docker images- 這里構建鏡像,是直接使用服務器上的docker打包,所以打包以后使用docker images就可以直接看到鏡像。下一步推送可以不需要操作。
- 打包出來的包比較大,因為java image本身就有6百多兆,加上自己的應用就不會少于600多兆。
- 使用openjdk可以縮小體積。
6. 鏡像推送到Docker Registry
mvn docker:push7. 到服務器運行鏡像
sudo docker run -d -p 80:8080 9512b0da843d訪問網址:
http://服務器ip/hello
可以看到打印 hello world字樣
總結
以上是生活随笔為你收集整理的docker 打包_Springboot2.0学习11 使用maven插件打包docker部署应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习Winform了解到switch和i
- 下一篇: gradle idea java ssm