问题标签 [docker-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
164 浏览

docker - Gitlab CI,如何获取容器主机名,从docker-maven-plugin开始

我正在为我的 Spring Boot Java 应用程序设置集成测试环境。docker-maven-plugin所以我正在使用我的应用程序应该调用的 PostgreSQL 数据库。

此设置在我的本地系统上运行时运行正常mvn verify,但在 GitLab CI 运行器上失败,因为 PostgreSQL 主机名不再匹配。

我的问题是,如何在 CI 管道中获取数据库容器的主机名?

我的插件配置如下所示:

最终,我将不得不在我的application yaml

0 投票
0 回答
512 浏览

docker - 如何为 Docker 容器和 Docker 主机只使用一个 docker-maven-plugin 配置?

我的 Spring Boot 应用程序使用 ElasticSearch,因此我必须启动一个 ElasticSearch 实例进行集成测试。要启动ElasticSearch 的 Docker 容器,我使用docker-maven-plugin. 集成测试应该在 GitLab 和开发人员机器上运行。

我的代码适用于带有 Unix 套接字的 GitLab 的 Runner(Docker 容器)(请参阅使用 Docker 套接字绑定),但不适用于开发人员机器。

Docker 容器 ( ) 的内部 IP 地址对于172.17.0.2Docker Desktop for Windows(Docker 主机)是未知的,请参阅Docker Desktop for Windows 中的网络功能

资源

附加信息

日志

研究

  • 使用属性中的端口映射和 Docker 主机的 IP 地址docker.host.address,不适用于 Unix 套接字,请参阅5.2.9。等等
  • 使用host网络不适用于 Docker Desktop for Windows,请参阅使用主机网络

问题

是否可以只docker-maven-plugin为 GitLab 和开发人员机器使用一种配置?

0 投票
1 回答
940 浏览

spring-boot - Fabric8 的 docker-maven-plugin 中的 docker-compose 不起作用

我正在尝试在集成测试之前在 docker 容器中docker-maven-plugin运行redis和实例。PostgreSQL 11以下是我在pom.xml文件中的设置:

我正在尝试运行docker-compose-test.yml包含以下内容的指定文件中定义的服务:

我知道这个文件是正确的,因为我试图手动运行它,但是maven 当我需要它时我无法为我运行它。关于为什么这不起作用的任何建议?

0 投票
1 回答
1002 浏览

postgresql - 如何在每次使用 Maven 执行测试之前重新启动 Docker 容器?

我想在每次测试执行之前启动一个新的 postgres docker 容器,而不是在运行所有集成测试之前启动一次。我目前拥有的配置就像大多数谷歌结果一样:

0 投票
1 回答
507 浏览

docker - 无法在 docker 映像中缓存 maven 依赖项

我正在使用包含所有 maven 配置、密钥、maven 命令的 sh 文件。当我运行容器时,它每次都会一次又一次地下载依赖项,它无法缓存依赖项。

这是我的 Dockerfile 的样子:

这是 Test.sh 文件

当我创建 docker 映像并运行容器时,它会一次又一次地下载依赖项,每次运行它。

0 投票
0 回答
222 浏览

maven - docker-maven-plugin 和 jacoco 互相干扰

我们有一些项目,我们使用 jacoco 来聚合多个模块的代码覆盖率。我们还有一些项目使用 Fabric8 docker-maven-plugin 来运行黑盒测试。但是我们现在第一次想在同一个项目中运行它们。它有点工作,但不是在同一个 Maven 命令中。

我们可以运行 mvn test 然后 jacoco 完美地完成它。我们可以运行 mvn install -Djacoco.skip=true 并且黑盒测试启动必要的 docker-containers 并在它们上运行测试。

但是运行 mvn install 并因此说 blackbox-tests 和 jacoco codecoverage 都应该运行将失败,说 jacoco 没有在中央存储库中找到依赖项(无论如何它们都不应该存在)。

那么,我的问题是,docker-maven-plugin 可以做什么来干扰 jacoco?似乎 docker-maven-plugin 删除了 jacoco 期望存在的东西。

我对 jacoco 的配置是使用带有 localRepositoryPath 的调用程序插件(正如 jacoco 的多模块示例的许多指南一样),它会发生冲突吗?还是 docker-maven-plugin 清理工作区?Se 插件定义如下。

0 投票
1 回答
65 浏览

maven - 有没有办法在 Maven 中指定某种最终操作(构建清理阶段)?

我正在使用 maven docker 插件启动 postgres 容器,然后在后面的步骤中使用数据库生成一些人工制品。

我遇到的问题是,当两者之间的任何操作出现错误时startstopmaven 会离开正在运行的容器,并且连续的构建尝试将失败,因此必须先手动放下剩余的容器。

maven 中有没有办法/插件来指定一些finally动作/阶段?这样在构建脚本失败的情况下,仍然能够释放一些可能已经被保留的资源?

0 投票
1 回答
40 浏览

docker-maven-plugin - 不是错误!!!!这是一个错误!!!!为什么 docker-maven-plugin 给我一个错误 dockerfile 有一个 '&'

当我用 docker 构建我的 springboot 项目时。我的想法输出中出现此错误。

dockerfile 中的一行我认为有错误

我的 MAVEN 插件配置如下

你能告诉我如何解决这个错误吗?

0 投票
1 回答
435 浏览

java - fabric8 Maven 插件内联汇编问题

我想在我的 Docker 映像中包含一些 JAR 文件。我正在使用 fabric8 maven 插件的内联汇编功能。

这是 POM 中的依赖项:

这是 fabribc8 插件的内联程序集:

JAR 被复制到target/docker/...目录中。截屏:

智能截图

我构建图像,运行容器,然后进入它。但是,缺少 JAR。

插件有一个警告: [WARNING] DOCKER> Dockerfile /load-testing/Dockerfile does not contain an ADD or COPY directive to include assembly created at maven. Ignoring assembly.

我必须使用 COPY 将文件复制到 Docker 映像中吗?我不是从插件中免费获得的吗?还是我只是配置错误?

0 投票
1 回答
22 浏览

java - 具有默认语法的占位符

我的 maven 文件中有一个port部分(docker-maven-plugin 部分),如下所示:

这很好用(如果定义或默认为 8080,则使用 webservice.adminport)。

但是,我试图在envpom 部分使用相同的模式:

但是出现以下错误,我认为env上面部分中的语法不正确?

无法解析值“http://1.2.3.4:${webservice.adminport}:8080/my-service”中的占位符“webservice.adminport”