docker入門—4. 使用fabric8構(gòu)建并推送Docker

使用fabric 8和maven結(jié)合,可以在使用maven構(gòu)建應(yīng)用時自動構(gòu)建docker image。

示例源碼,包含POM配置,Dockerfile

編寫Dockerfile

借用之前的Dockerfile,不過ADD命令稍有不同,這里的路徑是maven/for_docker-0.0.1-SNAPSHOT.jar,因為使用下面的assembly參數(shù)配置后,jar包會拷貝到docker build目錄下。

#繼承centos docker file
FROM centos

#安裝JDK
RUN yum install -y java

#配置docker存儲目錄
VOLUME /tmp

#將maven目錄的jar包拷貝到docker中,并命名為for_docker.jar
ADD maven/for_docker-0.0.1-SNAPSHOT.jar for_docker.jar

ENTRYPOINT ["java", "-jar", "/for_docker.jar"]

添加Fabric 8依賴

<plugin>
    <groupId>io.fabric8</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.28.0</version>

    <configuration>

        <dockerHost>unix:///var/run/docker.sock</dockerHost>

        <verbose>true</verbose>
        <images>
            <image>
                <!--如果要推送到docker hub,這里需要使用 用戶名 -->
                <name>ted005/for_docker</name>
                <build>
                   
                   <!--Dockerfile所在目錄-->
                   <dockerFileDir>${project.basedir}/src/main/docker/</dockerFileDir>

                    <!--將jar包拷貝到docker build目錄中-->
                    <assembly>
                        <descriptorRef>artifact</descriptorRef>
                    </assembly>
                    
                    <!--latest標(biāo)簽-->
                    <tags>
                        <tag>latest</tag>
                    </tags>
                </build>
            </image>
        </images>
    </configuration>

</plugin>

執(zhí)行maven命令并構(gòu)建docker image

mvn clean package docker:build

構(gòu)建后的工程目錄如下:可以看到Dockerfilemaven目錄平級

構(gòu)建docker

推送到docker hub上

  • 配置maven settings.xml文件:
<servers>
    <server>
      <id>docker.io</id>
      <username>ted005</username>
      <password>XXXXXX</password>
    </server>
</servers>
  • 執(zhí)行命令
mvn clean package docker:build docker:push
  • 在docker hub可以看到剛剛推送成功的docker image


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

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

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