从镜像仓库的两种维度来看:

第一:开如开启了docker的远程登录端口2375, 可以直接登录到远程的docker, 直接使用远程docker服务器build后,镜像就在远程服务器了

第二:不使用docker的远程登录端口,推送到register/docker hub/ harbor / 阿里云仓库,则需要build镜像后,在push到镜像仓库

插件一:spotify/docker-maven-plugin 插件 (不推荐)

这个插件官方已经不建议使用了,取而代之的是com.spotify:dockerfile-maven-plugin,虽然过时,我也记录一下以防一些老项目要用。

 <plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><executions><execution><id>build-image</id><phase>package</phase><goals><goal>build</goal></goals></execution></executions><configuration><!--对应maven的setting.xml 内的server配置信息,主要是用来推送到私人仓库认证使用的--><serverId>harbor</serverId><!-- harbor的地址--><registryUrl>http://${docker.registry}</registryUrl><!-- 镜像名称:${docker.registry} harbor地址  ${docker.registry.name} harbor项目名称  ${project.name} maven项目名称 ${project.version} maven项目版本--><imageName>${docker.registry}/${docker.registry.name}/${project.name}:${project.version}</imageName><!--必须配置dockerHost标签(除非配置系统环境变量DOCKER_HOST)经本人测试,不写也可以,环境变量我也没配置,好像默认会使用127.0.0.1:2375作为docker镜像的打包服务--><!--<dockerHost>http://${local.docker.host}</dockerHost>--><baseImage>java:8</baseImage><entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources></configuration></plugin>

插件二:spotify/dockerfile-maven-plugin 插件(推荐)

            <!-- 这个插件是docker-maven-plugin 的升级版--><!-- 打包推送命令:mvn clean package dockerfile:push --><plugin><groupId>com.spotify</groupId><artifactId>dockerfile-maven-plugin</artifactId><version>1.4.13</version><executions><!--运行mvn package时,会自动执行build目标,构建Docker镜像;运行mvn deploy命令时,会自动执行push目标,将Docker镜像push到Docker仓库--><execution><id>default</id><goals><goal>build</goal><goal>push</goal></goals></execution></executions><configuration><!--${docker.registry} harbor地址 ${docker.registry.name} harbor项目名称 ${project.name} maven项目名称  --><repository>${docker.registry}/${docker.registry.name}/${project.name}</repository><!-- maven项目版本--><tag>${project.version}</tag><!--在settings.xml中配置server--><useMavenSettingsForAuth>true</useMavenSettingsForAuth><!--可以指定一个或多个变量,传递给Dockerfile,在Dockerfile中通过ARG指令进行引用--><buildArgs><JAR_FILE>${project.build.finalName}.jar</JAR_FILE></buildArgs></configuration></plugin>

插件三:/fabric8io/docker-maven-plugin 插件 (墙裂推荐)

 <!--功能强大的查插件 推荐使用--><!--打包推送命令 mvn clean package docker:push--><plugin><groupId>io.fabric8</groupId><artifactId>docker-maven-plugin</artifactId><version>0.39.1</version><configuration><!--认证配置,用于私有registry认证--><authConfig><username>admin</username><password>xxxxx</password></authConfig><!-- harbor镜像仓库地址--><pushRegistry>http://${docker.registry}</pushRegistry><images><image><!--推送到私有镜像仓库,镜像名需要添加仓库地址--><name>${docker.registry}/test/${project.name}:${project.version}</name><!--定义镜像构建行为--><build><dockerFileDir>${project.basedir}</dockerFileDir></build><!--定义容器启动行为--><!--                            <run>--><!--                                &lt;!&ndash;设置容器名,可采用通配符&ndash;&gt;--><!--                                <containerNamePattern>${project.artifactId}</containerNamePattern>--><!--                                &lt;!&ndash;设置端口映射&ndash;&gt;--><!--                                <ports>--><!--                                    <port>8082:8082</port>--><!--                                </ports>--><!--                                &lt;!&ndash;设置容器间连接&ndash;&gt;--><!--                                <links>--><!--                                    <link>mysql:db</link>--><!--                                </links>--><!--                                &lt;!&ndash;设置容器和宿主机目录挂载&ndash;&gt;--><!--                                <volumes>--><!--                                    <bind>--><!--                                        <volume>/etc/localtime:/etc/localtime</volume>--><!--                                    </bind>--><!--                                </volumes>--><!--                            </run>--></image></images></configuration><executions><!--如果想在项目打包时构建镜像添加--><execution><id>default</id><goals><goal>build</goal><goal>push</goal></goals></execution></executions></plugin>

参考文章:三种自动化构建Docker镜像的Maven插件使用 - 简书

Maven Docker几个插件打包+推送到镜像仓库或者私服(Harbor)的方法相关推荐

  1. docker-jenkins将打包的镜像推送到镜像仓库

    1.准备好环境和远程镜像仓库 2.编写shell脚本 #!/bin/bash -il #操作/项目路径(Dockerfile存放的路劲) BASE_PATH=/var/jenkins_home/wor ...

  2. 使用Docker制作镜像并推送到镜像仓库

    本文会告诉你如何使用docker从远端下载一个镜像,然后对镜像做修改,最后再把镜像推送到你自己的镜像仓库 1.安装Docker 这个没啥说的,根据你自己的环境下载对应的安装包安装就是了 docker官 ...

  3. 在内网中使用maven_maven构建docker镜像三部曲之三:推送到远程仓库(内网和阿里云)-Go语言中文社区...

    在上一章<maven构建docker镜像三部曲之二:编码和构建镜像>的实战中,我们将spring boot的web工程构建成docker镜像并在本地启动容器成功,今天我们把docker-m ...

  4. docker查看现有容器_如何使用Docker将现有应用程序推送到容器中

    docker查看现有容器 by Daniel Newton 丹尼尔·牛顿 如何使用Docker将现有应用程序推送到容器中 (How to shove an existing application i ...

  5. maven自定义依赖并推送到远程仓库

    文章目录 前言 一.maven配置 二.项目准备及修改配置 三.推送到maven仓库 总结 前言 本教程是在 IDEA 开发工具下操作的 一.maven配置 我们目的是将自己编写的项目,通过 mave ...

  6. springboot学习(六十七) springboot项目通过gradle-docker-plugin插件构建为doker镜像并推送至镜像私服

    文章目录 前言 1.使用gradle部署springboot项目 2.Docker开启远程访问 3.安装镜像私服Harbor 4.gradle中配置插件 前言 springboot从2.4默认提供了打 ...

  7. 【Visual Studio 2019】上传代码到 GitHub ( 16.9.2 版本 | 安装 GitHub 扩展插件 | 创建 Git 仓库 | 推送到远程仓库 )

    文章目录 一.安装 GitHub 扩展插件 二.创建 Git 仓库 三.推送到远程仓库 今天将 Visual Studio 2019 从 16.3.6 版本升级到了 16.9.2 版本 , 发现相关操 ...

  8. docker 推送到本地仓库_Docker_学习笔记系列之仓库

    docker仓库分公有和私有之分,本文主要介绍如何搭建私有仓库 1. 简介 Docker仓库,类似于yum仓库,是用来保存镜像的仓库.为了方便的管理和使用docker镜像,可以将镜像集中保存至Dock ...

  9. Docker 使用 docker push 命令 推送本地镜像到远程DockerHub仓库服务器

    Docker 使用 docker push 命令 ----- 推送本地镜像到远程DockerHub仓库服务器 Docker hub注册用户 到官网注册账号:https://hub.docker.com ...

最新文章

  1. 【剑指offer-Java版】41和为s的两个数字VS和为s的连续正数序列
  2. jQuery简单的Ajax调用示例
  3. python压缩文件不带根路径_python 压缩文件(解决压缩路径问题)
  4. Python学习之==第三方模块的安装、模块导入
  5. 以太坊白皮书_以太坊发展历程
  6. Java基础入门笔记-Hello world
  7. 【NOIP2001】【Luogu1025】数的划分(可行性剪枝,上下界剪枝)
  8. fatal error C1010: 在查找预编译头时遇到意外的文件结尾
  9. 非零基础入门微信小程序
  10. Atitit 前后端交互模式 目录 1.1. Ajax 1 1.2. Fetch api 1 1.3. 服务端脚本模式(简单快速) 1 1.4. 浏览器注入对象、函数 1 1.5. 浏览器插件模式
  11. for linux pdf转mobi_pdftotext —— Linux/Unix中将PDF文件转化为Text文本格式的利器
  12. CI获取用户真实IP地址
  13. Mahalanobis距离(马氏距离)的“哲学”解释
  14. PMP讲义第二章 项目运行环境
  15. python中采用字典建立统_Python字典的基本使用
  16. 线性代数_矩阵零空间的维度与奇异值的关系
  17. vb播放声音程序代码
  18. 深入浅出TCP/IP协议栈
  19. 智慧大棚一小步,农业发展一大步
  20. 抓取小红书 模拟器提示版本低 对接anoyi接口的api

热门文章

  1. hdu 1109 Run Away
  2. js如何判断变量的数据类型
  3. 将你的笔记本变成无线路由器
  4. 微信小程序实现列表及tab标签
  5. 周易六十四卦——乾卦
  6. 无限火力服务器爆炸,lol:无限火力这些英雄打架,腾讯看的都紧张,打到服务器爆炸!...
  7. 前序、中序、后序表达式
  8. 如何创建一个uniapp项目,如何运行手机上,打包等,更换头部,底部图标等。一目了然,
  9. 解密一个话费慢充的灰产项目
  10. 2022网易最新版本将军令算法刨析(2)