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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springboot学习(六十七) springboot项目通过gradle-docker-plugin插件构建为doker镜像并推送至镜像私服

發布時間:2023/12/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot学习(六十七) springboot项目通过gradle-docker-plugin插件构建为doker镜像并推送至镜像私服 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 1、使用gradle部署springboot項目
  • 2、Docker開啟遠程訪問
  • 3、安裝鏡像私服Harbor
  • 4、gradle中配置插件


前言

springboot從2.4默認提供了打鏡像的gradle插件,但通過此插件沒找到能設置基礎鏡像的方式,參見:https://blog.csdn.net/u011943534/article/details/112136459,下面介紹一種通過第三方插件打鏡像并推送至鏡像私服的方式

1、使用gradle部署springboot項目

2、Docker開啟遠程訪問

參考:https://blog.csdn.net/u011943534/article/details/112134818

3、安裝鏡像私服Harbor

參考:https://blog.csdn.net/u011943534/article/details/110918562

4、gradle中配置插件

buildscript中引入插件

buildscript {repositories {……mavenCentral()}dependencies {classpath "com.bmuschko:gradle-docker-plugin:6.7.0"} }

插件官網:https://bmuschko.github.io/gradle-docker-plugin

項目路徑下的gradle.properties中添加版本信息:

dockerRemoteAddr=tcp://172.16.10.190:2375 dockerRegistryUrl=172.16.10.160:88 dockerRegistryUsername=admin dockerRegistryPassword=Harbor12345

添加配置:

apply plugin: 'com.bmuschko.docker-remote-api' apply plugin: 'com.bmuschko.docker-spring-boot-application' …… dockerCreateDockerfile {instruction 'RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone'environmentVariable 'TimeZone', 'Asia/Shanghai'environmentVariable 'myenv', 'this is my test' }docker {url = "${dockerRemoteAddr}"springBootApplication {baseImage = "${dockerRegistryUrl}/library/oneclick/openjdk:11-jdk-oracle"maintainer = 'newframe'ports = [6001, 8719]images = ["${dockerRegistryUrl}/library/${rootProject.name}/${project.name}:${version}"]jvmArgs = ['-Djava.security.egd=file:/dev/./urandom']mainClassName = "com.iscas.business.product.ProductApp"}registryCredentials {url = "http://${dockerRegistryUrl}"username = "${dockerRegistryUsername}"password = "${dockerRegistryPassword}"} }

com.bmuschko.docker-remote-api和com.bmuschko.docker-spring-boot-application是兩個插件,除了這倆,還有一個插件com.bmuschko.docker-java-application

插件說明
com.bmuschko.docker-remote-api提供自定義任務以通過其遠程 API 與 Docker 交互
com.bmuschko.docker-java-application為 Java 應用程序創建并推送 Docker 映像
com.bmuschko.docker-spring-boot-application為 Spring Boot 應用程序創建并推送 Docker 映像

springBootApplication對應springboot的一些配置:

屬性名類型默認值描述
baseImageStringopenjdk:jre-alpinedocker基礎鏡像
maintainerString系統屬性”user.name”鏡像的maintainer
portsList[8080]容器暴露的端口
imagesList[<project.group>/:<project.version>]build和push的鏡像名稱
jvmArgsList[]jvm參數
mainClassNameStringclasspath中唯一的主類用于啟動應用程序的主類名。 如果您的源代碼包含多個主類文件,則為此選項設置顯式值很有用。

url對應遠程docker API地址
registryCredentials對應要推送的遠程鏡像私服地址和用戶名密碼。

執行dockerBuildImage命令,構建此工程為Docker鏡像,執行dockerPushImage命令,將項目構建為Docker鏡像,并推送至遠程鏡像私服。

總結

以上是生活随笔為你收集整理的springboot学习(六十七) springboot项目通过gradle-docker-plugin插件构建为doker镜像并推送至镜像私服的全部內容,希望文章能夠幫你解決所遇到的問題。

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