【docker】maven 打包docker的插件学习

   日期:2024-12-29     作者:25iui       评论:0    移动:http://oml01z.riyuangf.com/mobile/news/11922.html
核心提示:docker-maven-plugin GitHub地址:https://github.com/spotify/docker-maven-plugin 您可以使用此插件创建一个 Docker 映

【docker】maven 打包docker的插件学习

docker-maven-plugin

GitHub地址:https://github.com/spotify/docker-maven-plugin

您可以使用此插件创建一个 Docker 映像,其中包含从 Maven 项目构建的工件。例如,Java 服务的构建过程可以输出运行该服务的 Docker 映像。

该插件是 Spotify 使用的最初 Maven 插件,用于从 Java 服务构建 Docker 镜像。它最初创建于 2014 年,当时我们第一次开始尝试 Docker。该插件能够 根据 pom.xml 文件中的配置为您生成图像、使用/添加的资源等。

随着时间的推移,我们在 Spotify 意识到从 Java 项目构建 Docker 镜像的最简单方法是让开发人员编写. 该插件围绕生成 Dockerfile、将项目目录复制到“暂存”目录以用作 Docker 构建上下文等的行为,最终导致我们的用户产生很多不必要的困惑,这些困惑源于引入额外的抽象和需求用于在 Docker 提供的基础上进行配置。

This repository has been archived by the owner on Mar 21, 2022. It is now read-only.

该存储库已由所有者于 2022 年 3 月 21 日存档。它现在是只读的。

​状态:不活跃,我们建议您改用dockerfile-maven。​

dockerfile-maven

GitHub地址:GitHub - spotify/dockerfile-maven: MATURE: A set of Maven tools for dealing with Dockerfiles

用法:https://github.com/spotify/dockerfile-maven/blob/master/docs/usage.md

This repository has been archived by the owner on Apr 1, 2022. It is now read-only.

该存储库已由所有者于 2022 年 3 月 31 日存档。它现在是只读的。

状态:成熟

目前,我们不会开发或接受新功能,甚至不会修复非关键错误。

这个 Maven 插件将 Maven 与 Docker 集成。

设计目标是

  • 不要做任何花哨的事情。 s 是构建 Docker 项目的方式;这就是这个插件的用途。它们是强制性的。
  • 使 Docker 构建过程与 Maven 构建过程集成。如果绑定默认阶段,当您键入 时,您将获得一个 Docker 映像。当您输入 时,您的图像就会被推送。
  • 让目标记住你在做什么。您可以稍后再输入,不会有任何问题。这也消除了对类似的东西的需要;相反,你可以直接说.
  • 与 Maven 构建反应器集成。您可以在另一个项目中依赖一个项目的 Docker 镜像,Maven 会按照正确的顺序构建项目。当您想要运行涉及多个服务的集成测试时,这非常有用。

该插件需要 Java 7 或更高版本以及 Apache Maven 3 或更高版本(dockerfile-maven-plugin <=1.4.6 需要 Maven >= 3,对于其他情况,Maven >= 3.5.2)。要运行集成测试或在实践中使用该插件,需要有效的 Docker 设置。

例子

配置实际的插件来构建您的图像并使用 推送它。当然你也可以 明确地说。

 

如下所示

 

构建生命周期

 
Maven 目标
目标描述默认阶段dockerfile:build从 Dockerfile 构建 Docker 映像。packagedockerfile:tag标记 Docker 映像。packagedockerfile:push将 Docker 映像推送到存储库。deploy
跳过绑定到 Maven 阶段的 Docker 目标
Maven选项它有什么作用?默认值dockerfile.skip禁用整个 dockerfile 插件;所有目标都变得无效。FALSEdockerfile.build.skip禁用构建目标;它变成了无操作。FALSEdockerfile.tag.skip禁用标签目标;它变成了无操作。FALSEdockerfile.push.skip禁用推送目标;它变成了无操作。FALSE

例如,要跳过整个 dockerfile 插件

 
构建阶段
Maven选项它有什么作用?必需的默认值dockerfile.contextDirectory包含要构建的 Dockerfile 的目录。yesnonedockerfile.repository用于命名构建镜像的存储库nononedockerfile.tag构建 Dockerfile 时要应用的标记,该标记将附加到存储库。nolatestdockerfile.build.pullNewerImage自动更新基础镜像。noTRUEdockerfile.build.noCache构建镜像时不要使用缓存。noFALSEdockerfile.build.cacheFromDocker 镜像用作缓存来源。pullNewerImage如果本地不存在或存在则提前拉取falsenononedockerfile.buildArgs自定义构建参数。nononedockerfile.build.squash将新构建的层压缩为一个新层(实验 API 1.25+)。noFALSE

下面是最近更新的文章

【docker 】 安装docker(centOS7)-CSDN博客

【docker】常用命令-CSDN博客

【docker】centos7配置docker镜像加速_docker仓库加速地址-CSDN博客

【docker】Hello World-CSDN博客

【docker 】Compose 使用介绍_docker compose 使用-CSDN博客

【docker 】Compose安装-CSDN博客

【docker 】Dockerfile指令学习-CSDN博客

【docker】网络使用和配置_docker 启动使用host mode-CSDN博客

【docker】数据管理-CSDN博客

【docker】安装openjdk-CSDN博客

【docker】Spring Boot3.x 打包 Docker容器-CSDN博客

【docker】docker compose 搭建私服-CSDN博客

【docker】开放Docker端口-CSDN博客

【docker】maven 打包docker的插件学习-CSDN博客

【docker 】Windows10安装Docker Desktop - WSL update failed-CSDN博客
 

【docker】springboot3.x使用docker-maven-plugin 打包镜像-CSDN博客

【docker 】 IDEA 安装 Docker 工具-CSDN博客

【docker】springboot3.x使用dockerfile-maven-plugin 打包镜像-CSDN博客

【docker】常用的把springboot打包为docker镜像的maven插件-CSDN博客

【docker 】push 镜像到私服-CSDN博客

【docker】常用的Docker私有仓库-CSDN博客

【docker】常用的Docker编排和调度平台-CSDN博客




 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号