问题标签 [fabric8-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 投票
1 回答
906 浏览

maven - 无法使用fabric8插件推送docker镜像

我无法使用 fabric8 插件将 docker映像推送到私有存储库(托管在https://hub.docker.com上)。我在 hub.docker 上创建了一个名为: 的存储库manuzid/heap-dump-sample。这是一个简单的 Spring Boot 应用程序,仅在 main 函数中有一个循环。有趣的部分是 pom.xml 中的以下内容:

我在控制台中收到以下错误:[ERROR] DOCKER> Unable to push 'manuzid/heap-dump-sample:latest' from registry 'index.docker.io/v1' : denied: requested access to the resource is denied [denied: requested access to the resource is denied ]

但指定的凭据与我用于登录网站 ( https://hub.docker.com ) 的凭据相同。index.docker.io/v1使用命令获取指定的注册表 url docker info

对此有何建议?提前致谢。

编辑:这个例子可以在这里找到:https ://github.com/ManuZiD/heap-dump-sample

0 投票
1 回答
257 浏览

docker - 如何保持 Docker 容器运行

我在 docker 中启动集成测试。如果测试失败,则带有测试的容器退出 1 它会导致 Maven 构建失败。正是我想要的,但是 fabric8 插件删除了所有容器,我无法调查出了什么问题。我不能使用 docker 卷将日志放在那里。

我需要容器继续运行。

0 投票
1 回答
908 浏览

aws-ecr - 如何使用fabric8 maven插件将docker镜像推送到AWS ECR,同时从默认注册表中提取基础镜像?

在配置fabric8 maven 插件以将 docker 镜像推送到 AWS ECR时,我们收到“alpine:latest”镜像无法拉取的错误

这里来自maven pom的相关部分:

是否可以配置 maven fabric8 插件以将 docker 图像推送到 AWS ECR,同时从默认注册表中提取?

0 投票
1 回答
425 浏览

java - io.fabric8 插件生成 kubernetes 和 openshift yaml

当我包含 targetDir 配置时,io.fabric8 生成 kubernetes 和 openshift yaml

默认情况下它会转到target/fabric8/deployment.yaml我希望它转到{basedir}/fabric8/而不生成一些额外的额外文件夹和文件,只是/deployment.yaml,这是我运行的命令mvn fabric8:resource

0 投票
0 回答
64 浏览

java - 使用fabric8 maven插件替换kubernetes statefulsets失败

我们使用fabric8-maven-plugin 来管理我们所有kubernetes 服务的整个生命周期。我们在升级 statefulsets 时遇到问题(类似于这篇文章,但我们不使用 kubernetes-client)。maven插件的版本是4.3.1。我们对守护程序集没有任何问题,但我只是找不到更新有状态集的方法。我们得到与上述帖子相同的错误。

我试图将 updateStrategy 设置为滚动,但这似乎没有任何作用。

谢谢保罗

0 投票
0 回答
530 浏览

docker - 无法使用 io.fabric8 从 Windows 连接到 docker 容器

我正在 Windows 10 机器上运行一些集成测试。我有一个 Java maven 项目,它使用 io.fabric8 docker maven 插件来管理 docker 图像和容器。

当我的集成测试尝试与 docker 容器通信时,我遇到了问题。

我看到以下错误:

我试过运行它,但 mvn clean install -Dlocal.host=0.0.0.0没有mvn clean install -Dlocal.host=127.0.0.1运气。与上述类似的错误消息。

我的 Windows 10 环境变量是: DOCKER_HOSTenv 变量设置为tcp://username-remotelinux.somecloudprovider.co.uk:2375

当我运行 docker ps 时,我看到以下内容:

我还检查了容器的 IP 地址:

我注意到容器的 ip 地址与我运行 docker ps 时看到的不同。

有什么不同的原因吗?

我怎样才能让它工作?有任何想法吗?

更新 1:我也尝试过使用 0.33.0 版本的 docker maven 插件,但没有成功。我收到与上述相同的错误

更新2:我也尝试过mvn install -Ddocker.host=tcp://username-remotelinux.somecloudprovider.co.uk:2375没有运气的情况。一定有什么我错过了。如何让 Maven 进入远程 docker

0 投票
1 回答
329 浏览

maven - 覆盖默认的 jkube 部署名称

是否可以覆盖 jkube 中的默认部署命名?我想做一些类似于 docker 图像命名的事情,我可以在其中提供模式。

资源文档中的部署部分看起来很有希望,但插件中不存在这些选项。

默认命名似乎是 maven ${project.artifactId} 但我没有发现任何地方都有记录。挖掘代码我可以看到 ResourceConfig 与文档和示例不同步。

0 投票
1 回答
1070 浏览

java - fabric8io docker-maven-plugin 组件和外部工件

我正在尝试从 maven 中创建一个 docker 映像,其中包括来自不同 maven 项目的工件。但是我复制的示例似乎不起作用。

我认为这里的问题是我并不真正了解程序集是如何工作的,所以我想在这里寻求帮助。我已经建立了一个人为的简单示例来说明我在这里尝试做的事情:

https://github.com/sodved/java-docker-demo/tree/0.0.1-0

所以我的项目有两个模块:

  • sod-java,它构建一个可执行的 jar(它只是将一个文件写入/tmp/sod.txt
  • sod-docker 使用 Dockerfile 创建一个 java alpine 镜像
    • setup.sh 在构建映像时运行。它运行java来创建/tmp/sod.txt
    • run.sh 是默认命令写入/tmp/sod.txt文件的内容

<assembly>到目前为止,我已经尝试了两种内联方法:

在这两种情况下,我都没有看到程序集或 docker 插件创建的 tar 文件中复制的 jar 文件,因此在尝试在 DockerfileCOPY命令中引用 jar 时出现错误。

我知道这个例子有点做作。但它简单且符合我们在工作中做事的标准方式。所以我在工具、布局等方面没有很大的灵活性。

真实案例用于构建数据库镜像。获取基本图像,运行 java 代码来操作数据库,保存为新图像以供下游使用。

TLDR: 如何指定 groupId、artifactId、version 并在我的 docker 映像中包含相应的工件。docker 源本身不包含 java。

0 投票
0 回答
278 浏览

docker - 无法使用 docker-maven-plugin 使用 http 推送到不安全的注册表

我正在尝试使用 fabric8 docker-maven-plugin 推送图像

这是插件配置的相关部分

我正在尝试推送到不安全的私有 docker 注册表http://registry.my.com:5000并收到以下错误

注意http:/registry而不是http://registry

用于推送的命令是mvn -X docker:push

以下是导致该问题的一些相关日志

我在配置中做错了吗?

PS dmp 版本:0.33.0

Maven 版本(mvn -v):3.6.2

码头工人版本:19.03.8

0 投票
1 回答
481 浏览

spring-boot - 使用 docker 时,如何在 Eureka Client 中保持 Eureka 服务器 url 动态?

我正在使用 fabric8 docker-maven-plugin 为我的 Spring Boot 微服务构建映像。

问题是在 docker 容器中运行应用程序时,我必须为 Eureka Client 指定 Eureka Server Container 名称。但是如果我直接将它作为“Spring Boot APP”运行,我必须使用“Localhost:8761/Eureka”。有没有办法让它在有/没有 docker 的情况下都可以工作,如下所示?

我无法从 fabrib8 插件传递“EUREKA_SERVER”的值。我试过下面的代码来传递值,但它不起作用。