Dockerfile Maven 插件使用
这是一个将Docker与Maven无缝集成的Maven插件,可以方便地使用Maven打包Docker image(注意:原来的项目docker-maven-plugin 已经不建议使用)。
设计目标:
- 不要试图做任何事情。 这个插件使用Dockerfiles构建Docker项目的而且是强制性的。
- 将Docker构建过程集成到Maven构建过程中。如果绑定默认phases,那么当你键入mvn package时,你会得到一个Docker镜像。 当你键入mvn deploy时,你的图像被push。
- 让goals记住你在做什么。 你可以输入
mvn dockerfile:build
及后面的mvn dockerfile:build
和mvn dockerfile:push
都没有问题。这也消除了之前像mvn dockerfile:build -DalsoPush
这样的命令;相反,你可以只使用mvn dockerfile:build dockerfile:push
。 - 与Maven build reactor集成。你可以在一个项目中依赖另一个项目所构建的Docker image,Maven将按照正确的顺序构建项目。当你想要运行涉及多个服务的集成测试时,这非常有用。
该项目遵守 Open Code of Conduct.。 参与贡献代码,你需要遵守此代码规则。
Set-up
该插件需要Java 7或更高版本以及Apache Maven 3或更高版本。要运行集成测试或在开发中使用该插件,需要有一个能正常工作的Docker。
例子
<!-- docker image -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.4</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<useMavenSettingsForAuth>true</useMavenSettingsForAuth>
<username>xxxxx</username>
<password>xxxx</password>
<repository>${docker.image.registryUrl}/${project.name}</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>target/app-0.0.1-SNAPSHOT.jar</JAR_FILE>
</buildArgs>
<pullNewerImage>true</pullNewerImage>
</configuration>
<!-- docker-maven-plugin -->
</plugin>
说明:
使用该插件需要进行一下配置项设置:DOCKER_HOST环境变量设置(docker 运行所在的服务器地址)
useMavenSettingsForAuth 是使用maven 配置进行权限验证(主要用来发布到镜像仓库,例如阿里云)
<servers>
<server> <id>docker.image.registryUrl</id> <username>admin</username> <password>adminpassword</password> </server> </servers>
也可以直接配置: <username>xxxxx</username> <password>xxxx</password> 如果docker 服务器进行了ssl 配置 那么需要添加证书到客户端主机上,例如我的客户端是在windows 服务器 证书放置会在C:\Users\admin\.docker,如果是jenkins 服务器是在jenkins C:\Windows\System32\config\systemprofile\.docker
使用过程中会有遇到一些问题,这时候建议在命令行上运行命令同时-X 观看日志,这样更好定位问题;关于docker 服务器证书创建后续补上;
以下是我的docker 服务器是使用阿里云ecs
https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=nbog3w5j
相关推荐
springboot 使用 dockerFile maven插件 快速构建docker镜像 上传到harbor私有仓库 文章地址 :https://blog.csdn.net/a1041646584/article/details/100524668
dockerfile-maven-plugin 支持 maven 直接发布项目至 docker 镜像库
dockerfile-maven-插件一个基于模板生成 Dockerfile 的 Maven 插件。 = 用法 = == pom.xml == 将以下插件声明添加到您的 pom.xml: <build> [..] <plugin> <groupId>org.acmsl</groupId> <artifactId>dockerfile-...
这个Maven插件将Maven与Docker集成在一起。 设计目标是: 不要做任何幻想。 Dockerfile是构建Docker项目的方式。 这就是这个插件使用的。 它们是强制性的。 使Docker构建过程与Maven构建过程集成。 如果绑定默认...
docker-maven-plugin 一个用于构建和推送Docker映像的Maven插件。... 这导致创建了用于构建映像的第二个Maven插件 ,出于dockerfile-maven的README中概述的所有原因,我们认为该插件提供了使用Maven处理Docker的更简
This Maven plugin integrates Maven with Docker. The design goals are: Don't do anything fancy. Dockerfiles are how you build Docker projects; that's what this plugin uses. They are mandatory. Make ...
maven-docker-images 带有必要插件的Maven映像可缩短构建时间
如果我们使用 IDEA,我们可以使用 IDEA 的 Docker 插件来执行 Dockerfile 文件。我们可以在 IDEA 中创建一个新的 Docker 配置,然后选择我们的 Dockerfile 文件。这样,我们可以在 IDEA 中直接执行 Dockerfile 文件...
5.2 插件dockerfile-maven 19 6. 容器编排与调度 20 6.1 容器编排 20 6.2 容器调度 21 7. Docker常用命令 21 8. 常见问题 22 8.1 连不上docker官方仓库 22 8.2 启动mysql容器后,使用客户端连不上,报ERROR ...
Docker-Maven-Plugin 是一个 Maven 插件,允许开发者使用 Maven 构建和部署 Docker 镜像。 知识点6:微服务架构 微服务架构是一种软件架构风格,认为一个应用程序应该由多个小型的独立服务组成,每个服务可以独立...
mojo 通知QQ 这是一个Jenkins通知插件,当工作完成时发送消息到QQ。 我认为这只是针对中文的需求,所以我会用中文来写下面的readme内容。...使用Maven构建,即mvn compile hpi:hpi最终输出NotifyQQ.hpi、NotifyQQ.jar
在【首页】–【系统管理】–【插件管理】–【可选插件】中,搜索并安装 Maven Integration 插件。然后,在【首页】–【系统管理】–【全局配置】中,拉到最下面,配置 Maven。 创建任务 创建一个新的任务,选择...
3. 镜像构建:Jenkins 服务器使用 Docker-maven-plugin 插件生成 Docker 镜像。 4. 镜像推送:Jenkins 服务器将 Docker 镜像推送到 Harbor 服务器上。 5. 部署应用程序:Harbor 服务器提供了一个安全的环境来部署...
2. Jenkins安装和插件安装 3. Jenkins权限管理 4. Jenkins凭证管理 5. Jenkins+Maven配置 章节三:Jenkins+Web项目持续集成 1. Jenkins创建流水线项目 2. Jenkins流水线脚本语法 3. 常用的Jenkins构建触发器 4. ...
8. **Dockerfile** 或 **pom.xml** 中的Docker插件配置 - 可能包含Docker容器化部署的相关信息。 整合Spring、SpringMVC和MyBatis可以带来许多优势。Spring通过依赖注入管理组件,使得代码更加解耦,方便测试;...
然后,我们展示几个使用构建插件(适用于Maven和Gradle)而不是docker 。 这是一个“入门”指南,因此范围仅限于一些基本需求。 如果要构建供生产使用的容器映像,则需要考虑很多因素,并且不可能在简短的指南中将...
docker 制作jdk8基础镜像 配合jib插件使用 也可使用docker hub 自带open jdk 里面包含了Dockerfile 及jdk jre 推送到自定义docker registry 配合jib插件maven 配置使用方式:${docker registry url}/oracle-jre-8u...
Dockerfile,该文件从 Ubuntu 14.04 LTS 以及 Oracle Java 8、Jenkins 1.574、Maven 3、Git 和 Nano 构建持续集成容器。 设置一个装有 jenkins 的容器,监听端口 8080。 用法 要使用与主机相同的时区运行容器,请...