zoukankan      html  css  js  c++  java
  • 使用docker-maven-plugin插件构建docker镜像(已过时)

    可以参考博客:https://blog.csdn.net/aixiaoyang168/article/details/77453974

    docker-maven-plugin官网推荐在新项目中使用dockerfile-maven来构建镜像。

    docker-maven-plugin的Github地址:https://github.com/spotify/docker-maven-plugin

    dockerfile-maven的Github地址:https://github.com/spotify/dockerfile-maven

    一、 使用docker-maven-plugin构建镜像

    docker-maven-plugin有两种使用方式,一种是使用Dockerfile文件,一种是不使用Dockerfile文件。

    1.在 POM中指定构建信息(不使用Dockerfile文件)

    在pom.xml中引入该插件

    复制代码
    <!-- docker-maven-plugin插件(不带Dockerfile文件) -->
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.4.13</version>
        <configuration>
            <!--用于指定镜像名称-->
            <imageName>${project.name}:${project.version}</imageName>
            <!--用于指定基础镜像,相当于Dockerfile中的FROM指令-->
            <baseImage>java</baseImage>
            <!--相当于Dockerfile的ENTRYPOINT指令-->
            <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
            <!--是否跳过docker build-->
            <skipDockerBuild>true</skipDockerBuild>
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <!--用于指定需要复制的根目录,${project.build.directory}表示target目录-->
                    <directory>${project.build.directory}</directory>
                    <!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。-->
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
        </configuration>
    </plugin>
    复制代码

    默认情况下,该插件通过访问localhost:2375来连接本地docker,可以通过设置DOCKER_HOST 环境变量来连接docker.

    DOCKER_HOST=tcp://<host>:2375

    2.使用Dockerfile文件

    如果使用Dockerfile文件,必须指定dockerDirectory元素,那么 baseImage, maintainer, cmd and entryPoint这些元素也会被忽略。dockerDirectory元素所指定的内容将被复制到${project.build.directory}/docker下,resources元素则会复制除此之外的其它文件,例如项目jar文件。

    复制代码
    <!--docker-maven-plugin插件(带Dockerfile文件)-->
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.4.13</version>
        <configuration>
            <imageName>${project.name}:${project.version}</imageName>
            <!--Dockerfile文件位置-->
            <dockerDirectory>docker</dockerDirectory>
            <resources>
                <resource>
                    <targetPath>/</targetPath>
                    <directory>${project.build.directory}</directory>
                    <include>${project.build.finalName}.jar</include>
                </resource>
            </resources>
        </configuration>
    </plugin>
    复制代码

    二、使用

    创建镜像

    mvn clean package docker:build

    推送镜像到Registry

    mvn clean package docker:build -DpushImage

    推送指定tag的镜像到Registry

    mvn clean package docker:build -DpushImageTag

    三、绑定Docker 命令到 Maven 各个阶段

    原文地址:https://www.cnblogs.com/rouqinglangzi/p/10021838.html
  • 相关阅读:
    C#获取Excel Sheet名称,对特殊字符、重名进行了处理
    10个你必须知道的jQueryMobile代码片段
    HTML 5 学习之应用程序缓存
    JS取地址栏参数的两种方法
    关于AJAX+HTML5+ASHX进行全静态页面的数据交互
    重病后的重生
    非常值得学习的java 绘图板源代码
    C#开发者通用性代码审查清单
    【week3】四人小组项目—东师论坛
    【week2】结对编程-四则运算 及感想
  • 原文地址:https://www.cnblogs.com/jpfss/p/10945425.html
Copyright © 2011-2022 走看看