国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot配置docker-maven-plugin實(shí)現(xiàn)構(gòu)建與推送鏡像(Dockerfile)

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot配置docker-maven-plugin實(shí)現(xiàn)構(gòu)建與推送鏡像(Dockerfile)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

0、前提:docker、 maven、java均已安裝,docker 鏡像私服均已設(shè)置網(wǎng)絡(luò)也開通

本文基于Docker進(jìn)行構(gòu)建,也可以指定構(gòu)建信息到 POM 中構(gòu)建,大家自行搜索

1、首先是一些網(wǎng)絡(luò)和docker相關(guān)配置的打開

2375是docker遠(yuǎn)程操控的默認(rèn)端口,通過(guò)這個(gè)端口可以直接對(duì)遠(yuǎn)程的docker daemon進(jìn)行操作;
任何能連通到這臺(tái)docker宿主機(jī)的的機(jī)器都可以隨意操作
這臺(tái)docker宿主機(jī)的docker daemon(docker run、docker ps、docker rm等等這些命令)
推薦進(jìn)行tls+CA證書配置進(jìn)行遠(yuǎn)程操控,這里不贅述,可以自行baidu google
這里為了方便使用,使用非安全的方式試驗(yàn)

配置docker,開放2375端口
Docker的2375端口是默認(rèn)關(guān)閉的,如果我們要使用到它,就需要進(jìn)行以下的配置:

1、安裝有docker的服務(wù)器,修改docker.service文件:

vi /etc/systemd/system/docker.service
具體文件所在地,得看你安裝docker的位置,如果不知道自己安裝在哪里了,執(zhí)行以下指令去查找:
sudo find / -name docker.service

2、修改docker.service

找到文件以下內(nèi)容:
ExecStart=/usr/bin/dockerd
修改為:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

3、重啟docker服務(wù)
systemctl daemon-reload
systemctl restart docker

2、針對(duì)maven 的 setting.xml 文件的修改

1、增加server配置,填充私服harbor的賬號(hào)密碼
 <server>
      <id>docker-hub</id>
      <username>admin</username>
      <password>Harbor12345</password>
    </server>

2、其余配置 和 maven本身配置自己私服沒(méi)區(qū)別
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  </pluginGroups>

  <proxies>
  </proxies>

 <servers>
    <server>
      <id>docker-hub</id>
      <username>admin</username>
      <password>Harbor12345</password>
    </server>
     <server>
      <id>nexus-central</id>
      <username>admin</username>
      <password>Aaaa1111</password>
    </server>
     <server>
      <id>releases</id>
       <username>admin</username>
      <password>Aaaa1111</password>
    </server>
     <server>
      <id>snapshots</id>
       <username>admin</username>
      <password>Aaaa1111</password>
    </server>
  </servers>

   
  <mirrors>
   <mirror>
  <id>nexus-public</id>
  <mirrorOf>*</mirrorOf>
  <name>Nexus central</name>
  <url>http://dev07.dfhamit.cn:8081/repository/maven-public</url>
</mirror>
<!--
   <mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共倉(cāng)庫(kù)</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>-->
</mirrors>
 
  <profiles>
  	<profile>
  		<id>nexus</id>
  		<repositories>
         <repository>
          <id>nexus</id>
          <url>http://dev07.dfhamit.cn:8081/repository/maven-public</url>
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>
              <enabled>true</enabled>
          </snapshots>
         </repository>
        </repositories>
        <pluginRepositories>
          <pluginRepository>
          <id>nexus</id>
          <url>http://dev07.dfhamit.cn:8081/repository/maven-public</url>
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>
              <enabled>true</enabled>
          </snapshots>
         </pluginRepository>
        </pluginRepositories>
        </profile>
  	<profile>
  		<id>aliyun</id>
        <repositories>
            <repository>
          <id>aliyun</id>
          <url>https://maven.aliyun.com/repository/spring</url>
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>
              <enabled>true</enabled>
          </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
          <id>aliyun</id>
          <url>https://maven.aliyun.com/repository/spring</url>
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>
              <enabled>true</enabled>
          </snapshots>
            </pluginRepository>
        </pluginRepositories>
      </profile>
  </profiles>
  
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
   <!--  <activeProfile>aliyun</activeProfile>-->
  </activeProfiles>
</settings>

3、項(xiàng)目的pom文件,引入docker maven plugin 及相關(guān)配置

<!-- deploy 遠(yuǎn)程倉(cāng)庫(kù) ,id與maven setting.xml中對(duì)應(yīng)-->
    <distributionManagement>
        <repository>
            <id>releases</id>
            <name>dfham maven releases</name>
            <url>http://10.118.193.117:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>dfham maven snapshots</name>
            <url>http://10.118.193.117:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.0.3.RELEASE</version>
                <configuration>
                    <executable>true</executable>
                    <!--springboot啟動(dòng)類目錄 -->
                    <mainClass>com.dfham.perfma.PerfmaApplication</mainClass>
                    <!-- MAIN-CLASS:PropertiesLauncher,lib 外置 -->
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <!--創(chuàng)建一個(gè)自動(dòng)可執(zhí)行的jar或war文件 -->
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- 跳過(guò)單元測(cè)試 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>cert</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.6</version>
            </plugin>

            <!-- https://blog.csdn.net/fly_duck/article/details/124709727 -->
            <!-- mvn package -Dmaven.test.skip=true && mvn docker:build -DpushImage -DdockerImageTags=$CI_COMMIT_REF_NAME -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.0</version>
                <!-- 綁定docker build 與 push 至 mvn deploy 階段-->
                <!-- 不綁定可以mvn命令行 https://www.jianshu.com/p/39881a8c5a1d
                mvn clean package docker:build 只執(zhí)行 build 操作
                mvn clean package docker:build -DpushImage 執(zhí)行 build 完成后 push 鏡像
                mvn clean package docker:build -DpushImageTag 執(zhí)行 build 并 push 指定 tag 的鏡像
                mvn clean package docker:build -DpushImageTags -DdockerImageTags=imageTag_1 -DdockerImageTags=imageTag_2 -->
                <executions>
                    <execution>
                        <id>build-push</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>build</goal>
                            <goal>push</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!-- 連接到 帶docker環(huán)境的linux服務(wù)器 編譯image -->
                    <dockerHost>http://localhost:2375</dockerHost>

                    <!-- push到 docker hub 開始 -->
                    <!-- serverId 這個(gè)是配置在maven的setting.xml中私服的登錄賬戶信息-->
                    <serverId>docker-hub</serverId>
                    <retryPushCount>1</retryPushCount>
                    <retryPushTimeout>2000</retryPushTimeout>
                    <registryUrl>http://10.118.192.228</registryUrl>
                    <!-- 格式:私有倉(cāng)庫(kù)/鏡像名稱:版本號(hào), 如果要執(zhí)行push操作, 那么鏡像名稱必須為私有倉(cāng)庫(kù)為前綴,不然無(wú)效。-->
                    <imageName>10.118.192.228/zhoushun/${project.artifactId}:3.0</imageName>
                    <!-- push到 docker hub 結(jié)束 -->

                    <!-- 指定tag版本 imageName中拼接版本號(hào)即可,此字段可不用-->
<!--                    <imageTags>-->
<!--                        <imageTag>3.0</imageTag>-->
<!--                    </imageTags>-->
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <!-- optionally overwrite tags every time image is built with docker:build -->
                    <!-- <forceTags>true</forceTags>-->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

4、Dockerfile,默認(rèn)放在項(xiàng)目 src/main/docker 下,其他位置會(huì)copy多余的東西

FROM 10.118.192.228/zhoushun/openjdk:8-jre-alpine
WORKDIR /opt/perfma
COPY perfma-test-2.2.jar /opt/perfma
EXPOSE 8080

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories  && apk update
RUN apk add tzdata \
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone

CMD ["java","-jar","perfma-test-2.2.jar"]

# mvn clean package docker:build docker:push
# mvn package -Dmaven.test.skip=true && mvn docker:build -DpushImage -DdockerImageTags=$CI_COMMIT_REF_NAME

# docker run -it -d -p 8080:8080 --name perfma3.0 10.118.192.228/zhoushun/perfma-test:3.0
# docker exec -it perfma3.0 /bin/sh

# 刪除tag none 的鏡像
# docker image prune

5、運(yùn)行過(guò)程

springboot docker maven插件,容器-Docker&amp;K8s,SpringBoot-實(shí)戰(zhàn),docker,spring boot,maven

springboot docker maven插件,容器-Docker&amp;K8s,SpringBoot-實(shí)戰(zhàn),docker,spring boot,maven?springboot docker maven插件,容器-Docker&amp;K8s,SpringBoot-實(shí)戰(zhàn),docker,spring boot,maven

springboot docker maven插件,容器-Docker&amp;K8s,SpringBoot-實(shí)戰(zhàn),docker,spring boot,maven

參考文章:

Docker基于Centos7構(gòu)建JDK8鏡像 (qq.com)

(1569條消息) 【docker的那些事】Dockerfile構(gòu)建并推送到阿里云倉(cāng)庫(kù)_docker push 阿里云_陳橙橙丶的博客-CSDN博客

SpringBoot項(xiàng)目使用docker-maven-plugin插件構(gòu)建docker鏡像以及推送到docker hub或docker registry私服_OkidoGreen的博客-CSDN博客

(1570條消息) Spring?Boot配置docker-maven-plugin實(shí)現(xiàn)構(gòu)建與推送鏡像_spring-boot-maven-plugin_明天再去學(xué)習(xí)的博客-CSDN博客?Docker-通過(guò)docker-maven-plugin插件實(shí)現(xiàn)docker鏡像構(gòu)建并自動(dòng)發(fā)布到遠(yuǎn)程docker服務(wù)器 (bbsmax.com)

docker-maven-plugin - 簡(jiǎn)書 (jianshu.com)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-728353.html

到了這里,關(guān)于Spring Boot配置docker-maven-plugin實(shí)現(xiàn)構(gòu)建與推送鏡像(Dockerfile)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用docker-maven-plugin插件構(gòu)建鏡像并推送至私服Harbor

    使用docker-maven-plugin插件構(gòu)建鏡像并推送至私服Harbor

    如下所示,建議使用 Dockerfile Maven 插件,但該插件也停止維護(hù)更新了。因此先暫時(shí)使用 docker-maven-plugin 插件。 默認(rèn)的dokcer是不支持遠(yuǎn)程訪問(wèn)的,需要加點(diǎn)配置,開啟Docker的遠(yuǎn)程訪問(wèn) 確定docker配置文件位置在:/etc/systemd/system/docker.service 然后編輯修改docker配置文件: 找到包含

    2024年02月11日
    瀏覽(20)
  • SpringBoot項(xiàng)目使用docker-maven-plugin插件構(gòu)建docker鏡像以及推送到docker hub或docker registry私服

    SpringBoot項(xiàng)目使用docker-maven-plugin插件構(gòu)建docker鏡像以及推送到docker hub或docker registry私服

    我們知道docker可將應(yīng)用程序和基礎(chǔ)設(shè)施層隔離,可更快地打包、測(cè)試以及部署應(yīng)用程序。本文主要介紹SpringBoot項(xiàng)目如何構(gòu)建docker鏡像以及推送到私服或者docker hub服務(wù)器上。 本文介紹的方式是使用docker-maven-plugin的方式構(gòu)建SpringBoot的docker鏡像以及推送到私服或docker hub服務(wù)器上

    2024年02月16日
    瀏覽(21)
  • idea打包docker鏡像時(shí)出現(xiàn)“Failed to execute goal com.spotify:docker-maven-plugin:1.2.2:build (build-image) “

    idea打包docker鏡像時(shí)出現(xiàn)“Failed to execute goal com.spotify:docker-maven-plugin:1.2.2:build (build-image) “

    ?問(wèn)題解決參考地址 解決方法1:先看第一張圖片,一開始我也是不知道什么原因?qū)е碌?,后?lái)看到build時(shí)獲取的ProgressMessage信息都是空的,然后一點(diǎn)點(diǎn)排查,然后發(fā)現(xiàn)是鏡像命名的問(wèn)題的,鏡像命名不允許使用駝峰命令。 ? 解決方法2:可能是docker 上沒(méi)有內(nèi)存了,也會(huì)報(bào)錯(cuò)。

    2024年02月11日
    瀏覽(99)
  • Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

    Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

    Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found pom.xml 文件的配置情況,如下所示: Maven倉(cāng)庫(kù)中存在多個(gè)版本的 spring-boot-maven-plugin 包,如下所示: 無(wú)法識(shí)別使用哪個(gè)版本的 spring-boot-maven-plugin 包。 方案1:使用 version 標(biāo)簽添加 版本號(hào) ,如下所示。 方案2:使用 plugi

    2024年02月01日
    瀏覽(89)
  • 成功解決 Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

    File - Invalidate Caches 先看自己當(dāng)前的版本號(hào) 首先打開 pom.xml 文件進(jìn)行查看 Ctrl+F搜索 spring-boot-starter-parent 找到 artifactIdspring-boot-starter-parent/artifactId 這一行。 下面一行就是版本號(hào)。 拿我的舉例: 復(fù)制 version版本號(hào)/version 然后修改 將上面查找到的版本號(hào)粘貼到報(bào)錯(cuò)的那一行下面

    2024年02月12日
    瀏覽(18)
  • Cannot resolve plugin org.springframework.boot:spring-boot-maven-plugin: 解決辦法

    方法一 可能是你的鏡像源的問(wèn)題,查看你的maven安裝目錄下的 conf/setting.xml 的鏡像源是否是國(guó)外地址還是說(shuō)國(guó)內(nèi)的一些鏡像地址,國(guó)內(nèi)的話下載會(huì)穩(wěn)定點(diǎn),如果不是國(guó)內(nèi)的,請(qǐng)改成: 方法二 查看你的pom.xml文件里的spring-boot-maven-plugin部分是否有版本號(hào),如果沒(méi)有請(qǐng)加上: 方法

    2024年01月21日
    瀏覽(98)
  • Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的解決辦法

    Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的解決辦法

    ?pom.xml文件中出現(xiàn)這樣的依賴報(bào)錯(cuò) 解決辦法如下: 1、找到這個(gè) spring-boot-starter-parent 依賴 2、將其版本復(fù)制到 spring-boot-maven-plugin 下面 ? ? ?

    2024年02月15日
    瀏覽(99)
  • Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的解決方法

    Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的解決方法

    出現(xiàn)這個(gè)報(bào)錯(cuò)通常是因?yàn)?Maven 無(wú)法找到相應(yīng)的 Spring Boot Maven 插件。要解決這個(gè)問(wèn)題,可以嘗試以下幾種方法: 檢查? pom.xml ?文件中是否正確配置了 Spring Boot Maven 插件。確保以下內(nèi)容存在,并且版本號(hào)是有效的: 確保? groupId 、 artifactId ?和? version ?的值與你使用的 Spring

    2024年03月27日
    瀏覽(146)
  • 解決Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的問(wèn)題

    解決Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found的問(wèn)題

    在一個(gè)風(fēng)和日麗的下午,我跟著B站一個(gè)Up主敲一個(gè)SpringBoot+VUE項(xiàng)目,敲著代碼聽(tīng)著歌,在使用Maven下載相關(guān)包時(shí),突然就報(bào)錯(cuò)啦!(自己的已經(jīng)解決了,當(dāng)時(shí)沒(méi)截圖,只能用一下別人的圖了): 代碼如下: 那問(wèn)題發(fā)生了能怎么辦呢?百度唄!畢竟面向百度編程時(shí)一個(gè)好習(xí)慣!

    2024年02月16日
    瀏覽(91)
  • 已解決org.springframework.boot:spring-boot-maven-plugin:

    已解決org.springframework.boot:spring-boot-maven-plugin: org.springframework.boot:spring-boot-maven-plugin: org.springframework.boot:spring-boot-maven-plugin 是 Spring Boot 提供的一個(gè) Maven 插件,它用于將 Spring Boot 應(yīng)用打包成可執(zhí)行的 JAR 文件或者 WAR 文件。 下滑查看解決方法 該插件提供了許多功能,如將依賴

    2024年02月08日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包