• java项目快速打包镜像到docker服务器


    java项目快速打包镜像到docker服务器

    环境准备

    idea+java-maven项目

    可以自己新建一个springboot项目,请自行百度,这里不再举例
    
    • 1

    Dockerfile

    springboot项目的 项目根目录下放一个Dockerfile文件,

    文件内容如下

    #基础镜像(这里配置的是从镜像私服拉取jdk8的镜像)
    FROM 192.168.11.131:5000/myrepo/openjdk:8-jre
    #作者信息
    MAINTAINER thinkpet <1131201834@qq.com>
    #系统编码
    ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
    #声明一个挂载点,表示容器内此路径会映射到宿主机的某个目录
    VOLUME /tmp
    
    ARG JAR_FILE
    #将maven构建后的jar复制到image里,名字改成了app.jar
    ADD target/${JAR_FILE}  /app.jar
    #暴露端口8913
    EXPOSE  8913
    #启动容器内app时的执行命令
    ENTRYPOINT ["java","-Xmx128m","-Xms128m","-jar","/app.jar"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    dockerfile-maven-plugin

    dockerfile-maven-plugin是
    spotify公司开源的maven项目打包docker镜像的插件
    
    使用该插件需要你的本机(开发机)
    配置一个DOCKER_HOST环境变量 来指定docker服务器tcp访问地址,
    如果你本机已经安装了dockerDesktop,就不需要配置这个环境变量
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    请添加图片描述

    配置案例

    在你的springboot项目的根pom文件里的build节点下 plugins节点内 添加如下配置

    <plugin>
        <groupId>com.spotifygroupId>
        <artifactId>dockerfile-maven-pluginartifactId>
        <version>1.3.5version>
    
        
        <executions>
            <execution>
                <id>defaultid>
                <goals>
                    <goal>buildgoal>
                goals>
            execution>
        executions>
    
        <configuration>
            
            <repository>192.168.11.131:5000/myrepo/${project.artifactId}repository>
            <tag>${project.version}tag>
            
            
            <buildArgs>
                <JAR_FILE>${project.build.finalName}.jarJAR_FILE>
            buildArgs>
        configuration>
    
    plugin>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
  • 相关阅读:
    接口测试异常场景耗时耗力?一文帮你解决
    动态内存管理<C语言>
    Gradle4.4记录笔记
    【mcuclub】外部中断
    Android Gradle - AGP(Android Gradle Plugin)更新失败,你遇到了吗?
    如何成为前1%的程序员
    《扫雷》的完善修改
    Logrus日志框架:简介与入门指南
    C++标准模板(STL)- 类型支持 (类型特性,)
    高并发软件(网站,服务器端接口)的评价指标
  • 原文地址:https://blog.csdn.net/ThinkPet/article/details/133064248