idea使用docker-mave插件打包镜像并部署到harbor私服仓库
接上篇文章 对idea的docker配置,默认你已经可以通过Dockerfile发布镜像了。
通过Dockerfile发布的镜像版本都是latest,有木有什么办法可以修改呢:
第一种:
通过命令修改:
docker tag ImgId/OldTag newTag
eg:docker tag docker-demo docker-demo-2.0
第二种就是通过下面docker-maven插件的方式打包了
idea docker打包插件部署harbor私服
1.配置项目的pom.xml文件
<properties><!-- docker harbor的配置,下面也可以使用ip,默认端口看号是80 --><docker.repository>hup.xxx.com</docker.repository><!-- harbor上的项目名称 --><docker.registry.name>test</docker.registry.name>
</properties>
<build><!-- 构建的jar包名称 --><finalName>${project.artifactId}</finalName><plugins><!-- 一个plugin构建springboot可执行包 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.0.0</version><configuration><!-- maven settings.xml 文件配置的server-id,配置server就可以直接推送到harbor repository仓库了 --><serverId>docker-hub</serverId><registryUrl>http://${docker.repository}</registryUrl><!-- 这是docker的服务地址,必须配置dockerHost标签(除非配置系统环境变量DOCKER_HOST)--><dockerHost>http://192.168.0.21:2375</dockerHost><imageName>${docker.repository}/${docker.registry.name}/${project.artifactId}:${project.version}</imageName><!-- 指定 Dockerfile 路径,此路径根据自己的文件路径调试,他正确才会有打包镜像日志输出,否则会卡住--><dockerDirectory>./</dockerDirectory><image>${docker.repository}/${docker.registry.name}/${project.artifactId}:${project.version}</image><newName>${docker.repository}/${docker.registry.name}/${project.artifactId}:${project.version}</newName><!-- jar包位置--><resources><resource><targetPath>target/</targetPath><!--jar 包所在的路径 此处配置的 即对应 target 目录--><directory>${project.build.directory}</directory><!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 --><include>${project.build.finalName}.jar</include></resource></resources></configuration></plugin></plugins>
</build>
2.编写Dockerfile文件,和之前的一样
# 基础镜像使用Java
FROM java:8
# 作者
MAINTAINER janche
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
# 此处可以把具体的jar包名称写出来,我这里直接用*号代替了
ADD target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
# 指定容器需要映射到主机的端口
EXPOSE 9090
application.properties文件:里面就配置了一个端口,即Dockerfile中暴露的容器对外的端口
server.port=9090
3.在maven的settings.xml中国配置harbor私服的用户信息
<server><!-- 这里要和pom.xml中的serverId标签内容保持一致 --><id>docker-hub</id><username>username</username><password>xxxxx</password><configuration><email>janche@gmail.com</email></configuration>
</server>
4.默认你已经通过idea的docker插件连接好docker服务了哈,接下来就可以通过插件打包推送镜像了
docker:push实际上是包含docker:build,所以其实可以不用第三步的
idea使用docker-mave插件打包镜像并部署到harbor私服仓库相关推荐
- IDEA集成Docker插件实现项目打包镜像一键部署与Docker CA加密认证
IDEA集成Docker插件实现项目打包镜像一键部署与Docker CA加密认证 Docker开启远程访问 修改该Docker服务文件 加载配置与重启 验证是否开启成功 IDEA配置docker 编写 ...
- IDEA中使用Docker插件构建镜像并推送至私服Harbor
IDEA中使用Docker插件构建镜像并推送至私服Harbor 一.开启Docker服务器的远程访问 1.1 开启2375远程访问 1.2 添加harbor镜像配置 1.3 重启docker服务 二. ...
- Docker上传镜像到阿里云或私服仓库
在本地的镜像,可以导出成 tar归档文件,可以把该文件分享给他人使用,然后在其他机器上再导入镜像,就可以使用了. 其实,也可以把本地创建好的镜像上传到公共的或者私有的镜像仓库(最常用). 一.上传到公 ...
- Docker拉取centos镜像并部署web应用
此博客参考how2j.com和https://www.fecmall.com/topic/592博客,并进行整理 1.首先我们要去docker仓库中拉取一个centos系统作为我们镜像的系统,此处拉取 ...
- docker push到harbor私有仓库出现的相关问题及解决办法
目录 0. 我们打开harbor的镜像仓库, 可以看到有推送仓库的命令, 包含了具体地址 1. 但是我在执行push命令报错了, Get https://10.6.119.106/v2/: dial ...
- maven集成docker插件进行打包镜像并推送私服
使用maven进行集成docker打包成镜像以及推送到docker私服 先水几句 我不会开场啊-默默无闻的送码人.不是吧不是吧.现在还有人用maven打包,然后手动上传jar.然后进行部署吗?你out ...
- docker 打包_Springboot2.0学习11 使用maven插件打包docker部署应用
一.本文目标 使用Maven插件构建SpringBoot应用的docker镜像 镜像推送至Docker Registry 启动容器 本文开发环境 : jdk1.8 maven idea SpringB ...
- idea通过maven使用docker插件生成镜像并推送到harbor仓库
windows有2种方式获取docker环境,使用VM构建linux环境并安装docker,另一种是安装dockertoolbox,再通过bash的方式创建虚拟的docker环境(本文使用后者) 1. ...
- windows下maven打包镜像并推送docker服务器
1.修改docker服务器配置文件 vim /usr/lib/systemd/system/docker.service 将ExecStart这一行后面加上 -H tcp://0.0.0.0:2375 ...
最新文章
- mysql主从 查询负载_MySQL集群:主从数据库配置 实现查询负载
- 青龙羊毛——鸡厂签到
- Python 抖音用户粉丝(公开)--分析与实现
- FineReport连接多维数据库示例及操作
- 手机网站开发必修课[1]:手机浏览器 本文来自:http://www.fool2fish.cn/?p=290
- Python 中的属性访问与描述符
- jquery如何获取checkbox,并判断是否选中
- 这几张图告诉你程序员的变化,最后一张图扎心了
- 外网访问内网Oracle数据库
- 在eclipse如何删除无效的maven build
- etcd upgrade
- Proteus8.9 下载与安装 以及大多数问题
- m7405d粉盒清零方法_联想打印机 多功能一体机全系列硒鼓清零方法
- 【毕设笔记】轴承振动数据故障诊断软件系统
- sharding-jdbc系列之常见问题(十四)
- Hbase hive kudu的区别和使用场景
- MFC 右键菜单呼出
- 吾爱破解java核心技术_这才是某音解析最新源码,别拿第三方的来糊弄人
- hw3-空间与运动作业
- iPhone开发环境介绍
热门文章
- 胡巴动态表情包 捉妖记胡巴QQ表情无水印下载
- python实训day1
- 当程序员变身为黑客,现役程序员表示:我太难了!
- 【知识兔Excel教程】7个Excel序号填充的经典案例,照搬这些公式,效率倍增
- hdu 5234-三维背包
- 计算机应用技术职业生涯规划书职业价值观,中职业生涯规划书范文计算机专业职业价值观...
- PHP字体间距设置,wps字间距怎么调整
- Win8Metro(C#)数字图像处理--2.26图像减法
- android蓝牙设备类型设置 dev class设置
- ZigBee TI ZStack CC2530 4.1 三种网络设备类型