问题标签 [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.
docker - Gitlab CI,如何获取容器主机名,从docker-maven-plugin开始
我正在为我的 Spring Boot Java 应用程序设置集成测试环境。docker-maven-plugin
所以我正在使用我的应用程序应该调用的 PostgreSQL 数据库。
此设置在我的本地系统上运行时运行正常mvn verify
,但在 GitLab CI 运行器上失败,因为 PostgreSQL 主机名不再匹配。
我的问题是,如何在 CI 管道中获取数据库容器的主机名?
我的插件配置如下所示:
最终,我将不得不在我的application yaml
:
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.2
Docker Desktop for Windows(Docker 主机)是未知的,请参阅Docker Desktop for Windows 中的网络功能。
资源
附加信息
- 内部 IP 由 保存在 Maven 属性
docker.container.elasticsearch.ip
中docker-maven-plugin
,参见5.2。码头工人:开始。 - 网络是默认的
bridge
,见5.2.5。网络。 - 我无法将 GitLab 的运行器更改为在 Docker 中使用 Docker,请参阅使用 Docker-in-Docker 工作流和 Docker 执行器。
- 我无法将 GitLab 的运行器更改为使用 shell 执行模式,请参阅使用 shell 执行器
日志
研究
- 使用属性中的端口映射和 Docker 主机的 IP 地址
docker.host.address
,不适用于 Unix 套接字,请参阅5.2.9。等等。 - 使用
host
网络不适用于 Docker Desktop for Windows,请参阅使用主机网络。
问题
是否可以只docker-maven-plugin
为 GitLab 和开发人员机器使用一种配置?
spring-boot - Fabric8 的 docker-maven-plugin 中的 docker-compose 不起作用
我正在尝试在集成测试之前在 docker 容器中docker-maven-plugin
运行redis
和实例。PostgreSQL 11
以下是我在pom.xml
文件中的设置:
我正在尝试运行docker-compose-test.yml
包含以下内容的指定文件中定义的服务:
我知道这个文件是正确的,因为我试图手动运行它,但是maven
当我需要它时我无法为我运行它。关于为什么这不起作用的任何建议?
postgresql - 如何在每次使用 Maven 执行测试之前重新启动 Docker 容器?
我想在每次测试执行之前启动一个新的 postgres docker 容器,而不是在运行所有集成测试之前启动一次。我目前拥有的配置就像大多数谷歌结果一样:
docker - 无法在 docker 映像中缓存 maven 依赖项
我正在使用包含所有 maven 配置、密钥、maven 命令的 sh 文件。当我运行容器时,它每次都会一次又一次地下载依赖项,它无法缓存依赖项。
这是我的 Dockerfile 的样子:
这是 Test.sh 文件
当我创建 docker 映像并运行容器时,它会一次又一次地下载依赖项,每次运行它。
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 插件定义如下。
maven - 有没有办法在 Maven 中指定某种最终操作(构建清理阶段)?
我正在使用 maven docker 插件启动 postgres 容器,然后在后面的步骤中使用数据库生成一些人工制品。
我遇到的问题是,当两者之间的任何操作出现错误时start
,stop
maven 会离开正在运行的容器,并且连续的构建尝试将失败,因此必须先手动放下剩余的容器。
maven 中有没有办法/插件来指定一些finally
动作/阶段?这样在构建脚本失败的情况下,仍然能够释放一些可能已经被保留的资源?
docker-maven-plugin - 不是错误!!!!这是一个错误!!!!为什么 docker-maven-plugin 给我一个错误 dockerfile 有一个 '&'
当我用 docker 构建我的 springboot 项目时。我的想法输出中出现此错误。
dockerfile 中的一行我认为有错误
我的 MAVEN 插件配置如下
你能告诉我如何解决这个错误吗?
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 映像中吗?我不是从插件中免费获得的吗?还是我只是配置错误?
java - 具有默认语法的占位符
我的 maven 文件中有一个port
部分(docker-maven-plugin 部分),如下所示:
这很好用(如果定义或默认为 8080,则使用 webservice.adminport)。
但是,我试图在env
pom 部分使用相同的模式:
但是出现以下错误,我认为env
上面部分中的语法不正确?
无法解析值“http://1.2.3.4:${webservice.adminport}:8080/my-service”中的占位符“webservice.adminport”