欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Maven和遠程Docker基于Dockerfile構建SpringBoot應用鏡像

 更新時間:2024年06月17日 10:22:43   作者:初衷不改~  
本文重點給大家介紹使用Maven和遠程Docker基于Dockerfile構建SpringBoot應用鏡像的相關操作,感興趣的朋友跟隨小編一起看看吧

簡介

由于本人開發(fā)環(huán)境是 Windows,但是生產環(huán)境是 Linux,應用開發(fā)完后需要打包并構建 Docker 鏡像,但是我不想在本地安裝 Docker,于是便使用遠程的 Docker 進行處理,以下是具體的步驟。

步驟

開啟遠端 Docker 的訪問接口

本文以 Linux 環(huán)境下的配置為例,執(zhí)行以下命令編輯配置文件:

vim /usr/lib/systemd/system/docker.service

在 ExecStart 后面添加一行(表示啟動2375端口用于監(jiān)聽遠程操作)

-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

執(zhí)行以下命令重啟 Docker 服務

systemctl daemon-reload && systemctl restart docker

系統(tǒng)中添加環(huán)境變量

系統(tǒng)中添加以下環(huán)境變量:

名稱:DOCKER_HOST
值:tcp://你 docker 所在的IP地址:上一步中配置的端口

如果這時候你的 IDEA 還是打開的,那么你需要關掉重啟 IDEA,否則環(huán)境變量的配置可能不會生效,或者你也可以直接使用命令的方式打包

配置插件

配置 SpringBoot 打包插件和 Docker 插件,由于我的項目中在父級的 pom 文件中已經配置了插件版本管理,所以這里使用的插件是不需要 version 的,具體可以查詢 pluginManagement 這個關鍵字查看相關博文,這里不再贅述。

<build>
    <!--應用程序打包后生成的 jar 名稱-->
    <finalName>your-app-name</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <!--需要加這個,不然打包鏡像找不到啟動文件-->
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <addResources>true</addResources>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>dockerfile-maven-plugin</artifactId>
            <configuration>
                <repository>cloud/${project.artifactId}</repository>
                <buildArgs>
                	<!--應用打包后jar所在的地方,默認是在target里面-->
                    <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                </buildArgs>
            </configuration>
            </plugin>
    </plugins>
</build>

編寫 Dockerfile 文件

在你需要構建鏡像的應用的 pom 文件相同的目錄下,創(chuàng)建一個名為 Dockerfile 的文件,其內容如下:

FROM eclipse-temurin:17
COPY target/your-app-name.jar your-app-name.jar
ENTRYPOINT ["java","-jar","/your-app-name.jar"]

第一行表示基于 JDK 17 鏡像;
第二行的 COPY,表示復制你打包好的 jar 包到鏡像中,這里的配置要和上一步驟中 pom 文件的配置吻合;
第三行表示容器啟動后運行的命令,這里簡單使用 java -jar 運行應用即可。

構建

首先打包你的程序,由于本人比較懶,就不使用命令的方式打包和構建了,以 IDEA 為例,找到你要打包的模塊,點擊 package,這樣就會在 target 文件夾中生成一個jar包,如下圖所示,:

maven打包

接著找到下面的插件,找到dockerfile,build,這樣會調用遠程的 Docker 進行構建,鏡像也會保存到遠程的 Docker 中,如下圖所示:

構建docker鏡像

看到控制臺中出現(xiàn)下面這樣的 BUILD SUCCESS 就算是成功了:

在這里插入圖片描述

接著我們去遠程的 Docker 查詢鏡像,可以看到鏡像已經被構建好了:

在這里插入圖片描述

到此這篇關于使用Maven和遠程Docker基于Dockerfile構建SpringBoot應用鏡像的文章就介紹到這了,更多相關SpringBoot應用鏡像內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring Boot 2.4 新特性之一鍵構建Docker鏡像的過程詳解

    Spring Boot 2.4 新特性之一鍵構建Docker鏡像的過程詳解

    這篇文章主要介紹了Spring Boot 2.4 新特性之一鍵構建Docker鏡像的過程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • gitlab-runner中搭建nvm、nrm以及優(yōu)化maven打包方式

    gitlab-runner中搭建nvm、nrm以及優(yōu)化maven打包方式

    文章描述了如何在GitLab Runner上配置NVM、NRM,并優(yōu)化Maven打包過程,通過上述配置和優(yōu)化,作者將Maven打包時間從三分鐘縮短到不到40秒
    2024-11-11
  • docker安裝pxc集群的詳細教程

    docker安裝pxc集群的詳細教程

    這篇文章主要介紹了docker安裝pxc集群的詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Docker CentOS7的系統(tǒng)上安裝部署以及基礎教程

    Docker CentOS7的系統(tǒng)上安裝部署以及基礎教程

    這篇文章主要介紹了Docker CentOS7的系統(tǒng)上安裝部署以及基礎教程的相關資料,需要的朋友可以參考下
    2016-10-10
  • pod污點taint?與容忍度tolerations詳解

    pod污點taint?與容忍度tolerations詳解

    這篇文章主要為大家介紹了pod污點taint與容忍度tolerations示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 讓非root用戶構建Docker鏡像的三種方法

    讓非root用戶構建Docker鏡像的三種方法

    在默認情況下,Docker?需要?root?權限或?sudo?才能運行,這對于日常開發(fā)和?CI/CD?流水線可能不夠方便,那么,如何讓?非?root?用戶?也能構建和運行?Docker?容器呢?本篇文章將介紹?三種方法?來實現(xiàn)這一目標,需要的朋友可以參考下
    2025-04-04
  • docker運行nginx容器并掛載數據卷

    docker運行nginx容器并掛載數據卷

    本文主要介紹了docker運行nginx容器,并通過掛載目錄將容器與宿主機的數據進行共享和統(tǒng)一管理,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • docker容器分配固定ip的實現(xiàn)示例

    docker容器分配固定ip的實現(xiàn)示例

    如果不固定ip,每次主機重啟后,docker會動態(tài)給容器分配ip,導致redis容器的IP自動換了 ,然后還得去改配置就很煩,本文主要介紹了docker容器分配固定ip的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Docker compose部署SpringBoot項目連接MySQL及遇到的坑

    Docker compose部署SpringBoot項目連接MySQL及遇到的坑

    這篇文章主要介紹了Docker compose部署SpringBoot項目連接MySQL,文中給大家強調了如果在使用的過程中修改了Dockerfile,一定要把之前的鏡像刪掉,具體內容詳情跟隨小編一起看看吧
    2021-09-09
  • docker如何刪除<none>/dangling/懸空鏡像

    docker如何刪除<none>/dangling/懸空鏡像

    這篇文章主要介紹了docker如何刪除<none>/dangling/懸空鏡像問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論