溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么利用docker-maven-plugin自動(dòng)化部署

發(fā)布時(shí)間:2021-09-28 13:38:10 來(lái)源:億速云 閱讀:341 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了怎么利用docker-maven-plugin自動(dòng)化部署,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1、docker-maven-plugin 介紹

在我們持續(xù)集成過程中,項(xiàng)目工程一般使用 Maven 編譯打包,然后生成鏡像,通過鏡像上線,能夠大大提供上線效率,同時(shí)能夠快速動(dòng)態(tài)擴(kuò)容,快速回滾,著實(shí)很方便。docker-maven-plugin 插件就是為了幫助我們?cè)贛aven工程中,通過簡(jiǎn)單的配置,自動(dòng)生成鏡像并推送到倉(cāng)庫(kù)中。

**作用:

在編譯工程時(shí),能自動(dòng)生成docker image,還可以遠(yuǎn)程推送至倉(cāng)庫(kù),只需要在maven的配置文件pom.xml中合理的配置**

例子一(編譯時(shí)自動(dòng)生成docker鏡像):

1、maven 配置:

<plugin>
          <groupId>com.spotify</groupId>
           <artifactId>docker-maven-plugin</artifactId>
           <version>1.0.0</version>
           <configuration>
           <!--注意imageName一定要是符合正則[a-z0-9-_.]的,否則構(gòu)建不會(huì)成功-->
           <imageName>myserver:v1</imageName>
           <!-- 指定了Dockfile的目錄,所以需要在項(xiàng)目的src/main下創(chuàng)建一個(gè)docker目錄,并在其目錄中配置Dockerfile文件 -->
           <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory>
           <skipDockerBuild>false</skipDockerBuild>
           <!-- resources的內(nèi)容會(huì)復(fù)制  dockerDirectory(也就是構(gòu)建上下文)中 -->
           <resources>
                <resource>
                <targetPath>/</targetPath>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
                </resource>
          </resources>
     </configuration>
</plugin>

2、然后在項(xiàng)目的src\main\resources\docker(就是上面配置的dockerDirectory目錄),創(chuàng)建一個(gè)名為Dockerfile的文件內(nèi)容如下:

FROM java:8
MAINTAINER   blue
ADD  mydocker-0.0.1-SNAPSHOT.jar mydocker.jar
ENTRYPOINT   ["java", "-jar", "/mydocker.jar"]

3、設(shè)置系統(tǒng)環(huán)境變量,用于指定需要連接的docker daemon的主機(jī)和端口
前面講過,docker是C/S架構(gòu),docker-maven-plugin擔(dān)任client角色,服務(wù)器則需要環(huán)境變量指定

怎么利用docker-maven-plugin自動(dòng)化部署

4、執(zhí)行mvn clean install docker:build,項(xiàng)目編譯完成后自動(dòng)構(gòu)建鏡像,執(zhí)行docker images查看鏡像是否存在:

怎么利用docker-maven-plugin自動(dòng)化部署

例子二(鏡像推送至倉(cāng)庫(kù),基于例子一):

1、打開maven配置文件 setting.xml,加入倉(cāng)庫(kù)賬號(hào)信息:

<servers>
    <server>
        <id>docker-hub</id>
        <username>blueiii</username>
        <password>xxxx</password>
        <configuration>
          <email>xxxxx@163.com</email>
        </configuration>
    </server>
  </servers>

2、修改pom.xml文件,imageName必須跟倉(cāng)庫(kù)路徑一致:

<imageName>blueiii/mydocker:v1</imageName>

3、修改pom.xml文件,增加如下配置

<pushImage>true</pushImage>
<serverId>docker-hub</serverId>
<registryUrl>https://hub.docker.com/</registryUrl>

4、同樣執(zhí)行mvn clean install docker:build,自動(dòng)構(gòu)建鏡像并上傳至docker hub:

怎么利用docker-maven-plugin自動(dòng)化部署

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么利用docker-maven-plugin自動(dòng)化部署”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI