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映像可缩短构建时间
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 ...
mojo 通知QQ 这是一个Jenkins通知插件,当工作完成时发送消息到QQ。 我认为这只是针对中文的需求,所以我会用中文来写下面的readme内容。...使用Maven构建,即mvn compile hpi:hpi最终输出NotifyQQ.hpi、NotifyQQ.jar
2. Jenkins安装和插件安装 3. Jenkins权限管理 4. Jenkins凭证管理 5. Jenkins+Maven配置 章节三:Jenkins+Web项目持续集成 1. Jenkins创建流水线项目 2. Jenkins流水线脚本语法 3. 常用的Jenkins构建触发器 4. ...
这几天研究了一下将spring boot应用打入到docker中运行,先前有一个maven插件,可以直接在src/main中建一个docker文件夹,新建一个Dockerfile文件,在进行编译打包之后,可以直接运行docker插件,相当于在对应的...
然后,我们展示几个使用构建插件(适用于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。 用法 要使用与主机相同的时区运行容器,请...
如果您使用的是Maven,则将以下内容添加到pom.xml中 ... < id>jitpack.io < url>https://jitpack.io</ url> ... 该代码片段将使直接从Github.com下载Maven依赖项成为可能 然后添加以下
Jib 是谷歌最新开源的 Java 应用的 Docker 镜像生成工具,可以通过 Gradle 或 Maven 直接生成镜像并上传到仓库而不需要 Dockerfile 文件或者其他插件;Jib 支持将资源文件和类分层打包,可以大幅度提升生成镜像的...
java 8u312+linux amd64 spring boot maven 打包插件的时候需要使用的环境之一 相当于dockerfile 中的 from java8 作为打包插件最底层的构建环境之一
这里主要使用的主要是如下两种插件 spotify 、fabric8 , … -配置通过 xml 定义出 Dockerfile 或者挂载外部 Dockerfile 通过调用 Docker remote api 构建出镜像 pig 微服务平台所有的容器化都是基于此构建 <p
我们演示了构建Spring Boot本机应用程序的三个选项: 使用GraalVM本机映像Maven插件支持来生成本机可执行文件使用Spring Boot Maven Buildpacks支持生成运行本机可执行文件的容器使用多阶段Dockerfile构建容器以生成...
Maven插件用法bg.graphql.tool:graphql-generator-maven-plugin 开始: 运行:bg.demo.Application 检查: 在Docker上部署 查看 在您的机器上安装docker(WSL-Windows Subsystem for Linux-如果是Windows,则为...