接上篇文章 对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私服仓库相关推荐

  1. IDEA集成Docker插件实现项目打包镜像一键部署与Docker CA加密认证

    IDEA集成Docker插件实现项目打包镜像一键部署与Docker CA加密认证 Docker开启远程访问 修改该Docker服务文件 加载配置与重启 验证是否开启成功 IDEA配置docker 编写 ...

  2. IDEA中使用Docker插件构建镜像并推送至私服Harbor

    IDEA中使用Docker插件构建镜像并推送至私服Harbor 一.开启Docker服务器的远程访问 1.1 开启2375远程访问 1.2 添加harbor镜像配置 1.3 重启docker服务 二. ...

  3. Docker上传镜像到阿里云或私服仓库

    在本地的镜像,可以导出成 tar归档文件,可以把该文件分享给他人使用,然后在其他机器上再导入镜像,就可以使用了. 其实,也可以把本地创建好的镜像上传到公共的或者私有的镜像仓库(最常用). 一.上传到公 ...

  4. Docker拉取centos镜像并部署web应用

    此博客参考how2j.com和https://www.fecmall.com/topic/592博客,并进行整理 1.首先我们要去docker仓库中拉取一个centos系统作为我们镜像的系统,此处拉取 ...

  5. docker push到harbor私有仓库出现的相关问题及解决办法

    目录 0. 我们打开harbor的镜像仓库, 可以看到有推送仓库的命令, 包含了具体地址 1. 但是我在执行push命令报错了,  Get https://10.6.119.106/v2/: dial ...

  6. maven集成docker插件进行打包镜像并推送私服

    使用maven进行集成docker打包成镜像以及推送到docker私服 先水几句 我不会开场啊-默默无闻的送码人.不是吧不是吧.现在还有人用maven打包,然后手动上传jar.然后进行部署吗?你out ...

  7. docker 打包_Springboot2.0学习11 使用maven插件打包docker部署应用

    一.本文目标 使用Maven插件构建SpringBoot应用的docker镜像 镜像推送至Docker Registry 启动容器 本文开发环境 : jdk1.8 maven idea SpringB ...

  8. idea通过maven使用docker插件生成镜像并推送到harbor仓库

    windows有2种方式获取docker环境,使用VM构建linux环境并安装docker,另一种是安装dockertoolbox,再通过bash的方式创建虚拟的docker环境(本文使用后者) 1. ...

  9. windows下maven打包镜像并推送docker服务器

    1.修改docker服务器配置文件 vim /usr/lib/systemd/system/docker.service 将ExecStart这一行后面加上 -H tcp://0.0.0.0:2375 ...

最新文章

  1. mysql主从 查询负载_MySQL集群:主从数据库配置 实现查询负载
  2. 青龙羊毛——鸡厂签到
  3. Python 抖音用户粉丝(公开)--分析与实现
  4. FineReport连接多维数据库示例及操作
  5. 手机网站开发必修课[1]:手机浏览器 本文来自:http://www.fool2fish.cn/?p=290
  6. Python 中的属性访问与描述符
  7. jquery如何获取checkbox,并判断是否选中
  8. 这几张图告诉你程序员的变化,最后一张图扎心了
  9. 外网访问内网Oracle数据库
  10. 在eclipse如何删除无效的maven build
  11. etcd upgrade
  12. Proteus8.9 下载与安装 以及大多数问题
  13. m7405d粉盒清零方法_联想打印机 多功能一体机全系列硒鼓清零方法
  14. 【毕设笔记】轴承振动数据故障诊断软件系统
  15. sharding-jdbc系列之常见问题(十四)
  16. Hbase hive kudu的区别和使用场景
  17. MFC 右键菜单呼出
  18. 吾爱破解java核心技术_这才是某音解析最新源码,别拿第三方的来糊弄人
  19. hw3-空间与运动作业
  20. iPhone开发环境介绍

热门文章

  1. 胡巴动态表情包 捉妖记胡巴QQ表情无水印下载
  2. python实训day1
  3. 当程序员变身为黑客,现役程序员表示:我太难了!
  4. 【知识兔Excel教程】7个Excel序号填充的经典案例,照搬这些公式,效率倍增
  5. hdu 5234-三维背包
  6. 计算机应用技术职业生涯规划书职业价值观,中职业生涯规划书范文计算机专业职业价值观...
  7. PHP字体间距设置,wps字间距怎么调整
  8. Win8Metro(C#)数字图像处理--2.26图像减法
  9. android蓝牙设备类型设置 dev class设置
  10. ZigBee TI ZStack CC2530 4.1 三种网络设备类型