欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

使用Maven打包构建Docker镜像并推送到仓库

时间:2025-12-13 12:30:05|栏目:其它服务器|点击:

目录
  • 一,服务器Docker配置
  • 二,本地项目maven配置
    • 2.1 pom.xml
    • 2.2 dockerfile
    • 2.3 验证
    • 2.4 统一dockerfile
  • 总结

    对于开发完成的服务要发布至服务器Docker时,我刚学习了解Docker时构建镜像方式是将我的本地服务先通过maven打包称为jar包,然后再上传至我的服务器上,通过Dockerfile将其构建成为镜像。

    后来才了解了直接通过maven命令直接打包构建的方式,以下是完成这一操作的步骤。

    一,服务器Docker配置

    修改daemon.json文件,开放端口2375

    "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]

    我的文件如下所示:

    {
          "insecure-registries":["10.xx.xx.xx:5000"],
        "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
    }
    {
    "graph":"/Data/docker"
    }

    二,本地项目maven配置

    2.1 pom.xml

    在项目的pom文件引入docker-maven-plugin插件

    
                    
                    com.spotify
                    docker-maven-plugin
                    1.2.2
                    
                        
                        
                            build
                            install
                            
                                build
                                
                            
                        
                    
                    
                        
                        http://10.xx.xx.xx:2375
    
                        
                        10.xx.xx.xx:5000/${project.artifactId}:${docker.tag}
    
                        
                        ${project.basedir}/src/main/docker
    
                        
                        
                            
                                /
                                ${project.build.directory}
                                ${project.build.finalName}.jar
                            
                        
    
                        
    
                        
                        
                        
                        3
                        2000
                        10.xx.xx.xx:5000
                        
                        ${docker.push}
                        
                    
                

    重要配置解释:

    • dockerHost:docker所在服务器的ip和开放的端口
    • imageName:最终构建的镜像名称
    • dockerDirectory:本地dockerfile文件存放路径
    • targetPath:本地jar包生成位置
    • registryUrl:服务器docker的仓库地址
    • pushImage:是否在构建镜像后同时推送到Docker仓库

    2.2 dockerfile

    在本地项目的src/main下创建docker目录,在docker目录下创建dockerfile文件

    FROM 10.xx.xx.xx:5000/java
    VOLUME /tmp
    ENV LANG C.UTF-8
    COPY *.jar app.jar
    RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
    RUN echo "Asia/Shanghai" > /etc/timezone 
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-Djava.util.Arrays.useLegacyMergeSort=true", "-jar","app.jar"]

    2.3 验证

    此时,对该项目进行mvn install时,相当于会同时进行docker:build的动作,将本地项目jar包构建成镜像到服务器中

    2.4 统一dockerfile

    如果每个服务的镜像构建没有差异,可以将dockerfile从子项目中抽出来,就不需要在每一个项目模块中都创建相同的文件,直接放在项目根路径下就可以进行通用,同时修改pom配置

    
    ${project.parent.basedir}/docker

    此时的dockerfile存储位置为项目父级目录的docker文件夹下。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

    上一篇:Dockerfile文件详细介绍

    栏    目:其它服务器

    下一篇:MinIO存储在docker中安装及其使用方式

    本文标题:使用Maven打包构建Docker镜像并推送到仓库

    本文地址:https://zz.feitang.co/server/30558.html

    广告投放 | 联系我们 | 版权申明

    申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:257218569 | 邮箱:257218569@qq.com

    Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号