使用Maven構(gòu)建Docker鏡像

環(huán)境: Maven 3.6.1 、Docker 19.03.1


注: 這里需要使用到Docker環(huán)境,可以使用Windows本機(jī)安裝Docker環(huán)境,也可以使用遠(yuǎn)程Docker環(huán)境,開啟遠(yuǎn)程訪問,可參考 Docker安裝

1.使用插件

spotify 下有兩個(gè)Docker構(gòu)建插件:docker-maven-plugindockerfile-maven-plugin官方推薦使用后者

#  dockerfile-maven-plugin(官方推薦使用)
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
</plugin>
2.環(huán)境變量

若使用本機(jī)安裝Docker環(huán)境構(gòu)建,可忽略此步驟

#在系統(tǒng)環(huán)境變量中添加名稱為DOCKET_HOST
DOCKER_HOST = tcp://ip:2375
3.配置項(xiàng)目

在pom.xml中添加如下:

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>1.4.12</version>
    <executions>
        <execution>
            <id>default</id>
            <phase>package</phase>    #綁定package,使用mvn package 命令可觸發(fā)<goal>綁定的命令
            <goals>
               <goal>build</goal>
               <goal>push</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <username>user</username>       #私有倉(cāng)庫(kù)用戶名
        <password>password</password>   #私有倉(cāng)庫(kù)密碼
        #遠(yuǎn)程倉(cāng)庫(kù)這里以阿里云鏡像倉(cāng)庫(kù)為例
        <repository>registry.cn-hangzhou.aliyuncs.com/namespace/${project.artifactId}</repository>
        <tag>${project.version}</tag>
        <buildArgs>
            <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
        </buildArgs>
    </configuration>
</plugin>

在項(xiàng)目根目錄添加DockerFile文件,內(nèi)容如下:

FROM java:8
ARG JAR_FILE
ADD target/${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
4.構(gòu)建項(xiàng)目
#執(zhí)行此命令會(huì)觸發(fā)dockerfile build push命令
mvn clean package

查看docker鏡像build成功,查看阿里云鏡像倉(cāng)庫(kù)推送成功

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容