zoukankan      html  css  js  c++  java
  • 使用dockerfile-maven-plugin动态构建镜像并上传到docker私有仓库

    最近在将应用部署到容器平台,需要在打包时生成docker镜像,在网上首先搜到了docker-maven-plugin这个插件,但使用起来很麻烦,在maven和dockfile都要做很多额外的配置。后来在官方Github看到作者推荐使用dockerfile-maven-plugin这个新的插件,于是替换成这个,但这个插件在网上的相关资料较少。

    pom配置

    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
    
                <!-- Dockerfile maven plugin -->
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>dockerfile-maven-plugin</artifactId>
                    <version>1.4.10</version>
                    <executions>
                        <execution>
                           <id>default</id>
                           <phase>package</phase>
                            <goals>
                                <!--&lt;!&ndash;如果package时不想用docker打包,就注释掉这个goal&ndash;&gt;-->
                                <goal>build</goal>
                                <goal>push</goal>
                            </goals>
                        </execution> 
                    </executions>
                    <configuration>
                         <username>username</username>    <!--   docker私有仓库用户名,已登录则不需要 -->
    <password>password</password> <!-- docker私有仓库密码,已登录则不需要 -->
    <dockerHost>http://10.118.176.103:2375</dockerHost> <!-- 调用远程docker执行,也可以使用挂载宿主机docker方式 --> <repository>10.118.76.171:4000/jenkins/{project.build.finalName}</repository> <tag>${project.version}</tag> <buildArgs> <JAR_FILE>target/${project.build.finalName}.war</JAR_FILE> </buildArgs> </configuration> </plugin>

    dockerfile

    FROM 10.118.76.171:4000/library/tomcat:app
    RUN rm -rf /usr/local/tomcat/webapps/*
    COPY {JAR-FILE} /usr/local/tomcat/webapps/ROOT.war
    EXPOSE 8080
    CMD ["catalina.sh","run"]
  • 相关阅读:
    scp 跨服务器传数据
    Mongo启动失败解决方案
    centos7 NET模式配置虚拟机
    centos7虚拟机配置桥接模式
    Linux centos7 查看cpu 磁盘 内存使用情况
    centos7修改时间和时区
    fiddler培训
    docker学习笔记
    docker-ce安装官翻
    Nginx+Tomcat简单负载均衡
  • 原文地址:https://www.cnblogs.com/deny/p/13880871.html
Copyright © 2011-2022 走看看