将插件绑定在某个phase执行,推送镜像
文章目录
将插件绑定在某个phase执行
需求:在执行mvn clean package 时,插件自动为构建Docker镜像。
实现:将插件的的goal绑定在某个phase即可。
phase和goal可以这样理解:maven命令格式是mvn phase:goal ,例如mvn package docker:build。那么,package和docker都是phase,build则是goal。
示例:
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<excutions>
<excution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</excution>
</excutions>
<configuration>
<imageName>itmuch/discovery-eureka:0.0.1</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
由配置可知,只需添加如下配置:
<excutions>
<excution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</excution>
</excutions>
就可将插件绑定在package的phase上。也就是说,用户只需执行mvn package,就会自动执行mvn docker:build。
推送镜像
使用Maven插件推送一个Docker 镜像到Docker Hub.
1.修改Maven的全局配置文件settings.xml,在其中添加以下内容,配置Docker Hub的用户信息。
<server>
<id>docker-hub</id>
<username>用户名</username>
<password>密码</password>
<configuration>
<email>邮箱</email>
</configuration>
</server>
2.修改pom.xml。
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<imageName>itmuch/discovery-eureka:0.0.1</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<!-- 与maven配置文件settings.xml中配置的server.id一致,用于推送镜像 -->
<serverId>docker-hub</serverId>
</configuration>
</plugin>
</plugins>
</build>
3.执行以下命令,添加pushImage的标签,表示推送镜像。
mvn clean package docker:build -DpushImage
也可推送镜像到私有仓库,只需要将imageName指定类似如下的形式即可:
<imageName> localhost:5000/itmuch/discovery-eureka:0.0.4</imageName>
将插件绑定在某个phase执行,推送镜像的更多相关文章
- 【OF框架】在Visual Studio中发布Docker镜像,推送镜像到Azure容器注册表
准备 拥有Azure账号,已经创建 Azure容器注册表,获得注册表地址.账号.密码 本地已经在Visual Studio登录Azure账号. 本地已经拥有Docker环境 注意:首次发布Docker ...
- Azure DevOps (九) 通过流水线推送镜像到Registry
上一篇文章我们研究了如何通过流水线编译出一个docker的镜像,本篇我们来研究一下,如何把编译好的镜像推送到镜像仓库去. 平时如果我们是单机部署,我们的docker本身就装在部署的机器上,我们在本机直 ...
- Docker 镜像&仓库 获取及推送镜像
docker查看.删除镜像 docker镜像存储位置: /var/lib/docker 查看docker信息也可以查看保存位置 docker info 1.列出镜像 docker images -aa ...
- docker 推送镜像到阿里云
1. 登录阿里云Docker Registry $ sudo docker login --username=www.18860363800@hotmail.com registry.cn-beiji ...
- docker推送镜像到私有仓库
配置私有仓库源 私有仓库地址:registry.supos.ai 修改/etc/docker/daemon.json文件,增加insecure-registries,如下所示: { "ins ...
- Docker学习(6) 获取和推送镜像
查找镜像 拉取镜像 推送镜像 总结
- Docker 推送镜像到hub.docker
1.Docker镜像文件:lails.server.demo:1.0, 2.登录Docker:docker login[根据提示输入用户名/密码] 3.执行:docker push lails.ser ...
- docker 标记和推送镜像
打开Launchpad并定位到docker Quickstart Terminal图标. 点击Docker Quickstart Terminal图标, 打开一个窗口. 将光标定位到Docker Qu ...
- 通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记
在本地创建一个容器后,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用. 查看镜像 [root@docker-test1 ~]# docker image ...
随机推荐
- 详细介绍如何自研一款"博客搬家"功能
前言 现在的技术博客(社区)越来越多,比如:imooc.spring4All.csdn.cnblogs或者iteye等,有很多朋友可能在这些网站上都发表过博文,当有一天我们想自己搞一个博客网站时就会发 ...
- http ContentLength 为0 下载问题
如图 通过http 下载某个东西 , WebResponse response = request.GetResponse(); response 调试如图 ContentLength 为0 ...
- Ubuntu/Liinux睡眠无法唤醒解决方法:ACPI设置
最近给笔记本换了一个固态,顺便就重装了一下系统,版本是Ubuntu 20.10.装完之后各种功能基本都是正常的,触摸板轻触单击.双指右键等功能开箱即用.但是在安装完最新的Nvidia驱动之后就出现了问 ...
- shellSyntax.md
shell #! /bin/bash 头文件 echo -e 若字符串出现特殊字符,则特别处理 -n 不要在最后自动换行 ./filename.sh sh filename.sh r ...
- fatal error C1045: 编译器限制 : 链接规范嵌套太深
前言 我相信你是遇到了同样的问题.通过搜索引擎来到这里的.为了不耽误排查问题的时间,我提前说明一下这篇文章所描述的问题范畴: 我遇到的问题和 c++ 模板相关: 如果我减少传递的参数的话,是有可能避免 ...
- Go从入门到放弃(笔记存档)
前言 考虑到印象笔记以后不续费了,这里转存到博客园一份 因内容是自己写的笔记, 未作任何润色, 所以看着很精简, 请见谅 查看官方文档 在新的go安装包中,为了减小体积默认去除了go doc 安装go ...
- LeetCode 371两数之和
题目描述: 不使用运算符 + 和 - ,计算两整数 a .b 之和. 思路: 既然不能使用运算符操作就要考虑到,位运算的加法. 加法有进位的时候和不进位的时候 ...
- ubuntu环境下搭建Hadoop集群中必须需要注意的问题
博主安装的hadoop是3.1.3这里是按照厦门大学那个博客安装的,在安装与启动过程中,费了不少事,特此记录一下问题. 安装的连接: 安装环境:http://dblab.xmu.edu.cn/blog ...
- upload-labs 1-21关通关记录
0x01: 检查源代码,发现JS前端验证,关闭JS即可连接,或者手动添加.php,或者上传1.jpg,再抓包修改为php 0X02: if (($_FILES['upload_file']['type ...
- (二)数据源处理3-python处理包含合并单元格的excel
分析: