问题标签 [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.
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
docker - 如何保持 Docker 容器运行
我在 docker 中启动集成测试。如果测试失败,则带有测试的容器退出 1 它会导致 Maven 构建失败。正是我想要的,但是 fabric8 插件删除了所有容器,我无法调查出了什么问题。我不能使用 docker 卷将日志放在那里。
我需要容器继续运行。
aws-ecr - 如何使用fabric8 maven插件将docker镜像推送到AWS ECR,同时从默认注册表中提取基础镜像?
在配置fabric8 maven 插件以将 docker 镜像推送到 AWS ECR时,我们收到“alpine:latest”镜像无法拉取的错误。
这里来自maven pom的相关部分:
是否可以配置 maven fabric8 插件以将 docker 图像推送到 AWS ECR,同时从默认注册表中提取?
java - io.fabric8 插件生成 kubernetes 和 openshift yaml
当我包含 targetDir 配置时,io.fabric8 生成 kubernetes 和 openshift yaml
默认情况下它会转到target/fabric8/deployment.yaml
我希望它转到{basedir}/fabric8/
而不生成一些额外的额外文件夹和文件,只是/deployment.yaml
,这是我运行的命令mvn fabric8:resource
java - 使用fabric8 maven插件替换kubernetes statefulsets失败
我们使用fabric8-maven-plugin 来管理我们所有kubernetes 服务的整个生命周期。我们在升级 statefulsets 时遇到问题(类似于这篇文章,但我们不使用 kubernetes-client)。maven插件的版本是4.3.1。我们对守护程序集没有任何问题,但我只是找不到更新有状态集的方法。我们得到与上述帖子相同的错误。
我试图将 updateStrategy 设置为滚动,但这似乎没有任何作用。
谢谢保罗
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_HOST
env 变量设置为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
maven - 覆盖默认的 jkube 部署名称
是否可以覆盖 jkube 中的默认部署命名?我想做一些类似于 docker 图像命名的事情,我可以在其中提供模式。
资源文档中的部署部分看起来很有希望,但插件中不存在这些选项。
默认命名似乎是 maven ${project.artifactId} 但我没有发现任何地方都有记录。挖掘代码我可以看到 ResourceConfig 与文档和示例不同步。
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
文件的内容
- setup.sh 在构建映像时运行。它运行java来创建
<assembly>
到目前为止,我已经尝试了两种内联方法:
- https://github.com/sodved/java-docker-demo/blob/0.0.1-0/sod-docker/pom-depency.xml是我的第一次尝试。
dependecySet
在装配中使用。但我注意到依赖项甚至没有包含在/target
文件夹中(我假设因为在 sod-docker 中没有要编译的实际 java 代码,所以没有复制依赖项)。 - https://github.com/sodved/java-docker-demo/blob/0.0.1-0/sod-docker/pom.xml是我的第二次尝试。它首先明确地将工件复制到
/target
文件夹中(有效)。然后file
在程序集中使用来尝试复制文件。
在这两种情况下,我都没有看到程序集或 docker 插件创建的 tar 文件中复制的 jar 文件,因此在尝试在 DockerfileCOPY
命令中引用 jar 时出现错误。
我知道这个例子有点做作。但它简单且符合我们在工作中做事的标准方式。所以我在工具、布局等方面没有很大的灵活性。
真实案例用于构建数据库镜像。获取基本图像,运行 java 代码来操作数据库,保存为新图像以供下游使用。
TLDR: 如何指定 groupId、artifactId、version 并在我的 docker 映像中包含相应的工件。docker 源本身不包含 java。
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
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”的值。我试过下面的代码来传递值,但它不起作用。