问题标签 [jib]
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 - 使用“mvn compile jib:build”推送到 Docker 注册表失败
我正在尝试使用Google JIB maven 插件构建我的 docker 映像并将其部署到私有注册表。但是,它因访问私有注册表的问题而失败。
我已经在我的Windows 10机器上安装了Docker Desktop v19.03.1 。接下来我尝试使用 Google JIB Maven 插件来构建我的 Spring Boot 应用程序,然后推送构建在私有注册表上的图像。
我已将 CERT 添加到 Windows 受信任的 CERTS 中的“example.registry.com”。我能够使用 docker 命令登录到私有注册表来验证这一点,如下所示:-
泊坞窗登录 example.registry.com
此命令返回身份验证成功,这意味着我添加的 CERT 已被接受。
并且在登录到私有注册表之后,我可以使用 docker 命令行成功地PULL和PUSH图像到“example.registry.com”。
下面是我的POM.xml文件。
当我从带有 pom.xml 文件的目录中的控制台运行“mvn compile jib:build”命令时,它确实开始了处理,但是在稍后阶段失败并出现以下错误:-
[错误] 无法在项目 inventory-service-docker 上执行目标 com.google.cloud.tools:jib-maven-plugin:1.5.1:build (default-cli): Build image failed, 也许你应该使用一个注册表支持 HTTPS 或设置配置参数“allowInsecureRegistries”:无法在https://example.registry.com/v2/inventory-service-docker/blobs/sha256:9cc2ad81d40d54dcae7fa5e8e17d9c34e8bba3b7c2cc7e26fb22734608bda32e验证服务器,因为只允许安全连接。
当我按照上述错误的建议设置配置参数“allowInsecureRegistries”后运行相同的命令时,我得到一个不同的错误,如下所示:-
[错误]无法在项目inventory-service-docker上执行目标com.google.cloud.tools:jib-maven-plugin:1.5.1:build(default-cli):构建图像失败:无法通过注册表示例进行身份验证。 registry.com/inventory-service-docker 因为:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
看起来我在使用未安全连接到“example.registry.com”的 JIB 时缺少一些配置。
java - Maven Jib 插件:401 Unauthorized
我正在使用 Maven Jib 插件将我的应用程序部署到 Gitlab docker 注册表。如果我使用docker login registry.gitlab.com
并输入用户名和密码,我可以成功登录到 gitlab 注册表。我可以看到它~/.docker/config.json
包含以下信息:
现在,如果我尝试运行mvn -Djib.to.auth.username=${username} -Djib.to.auth.password=${password} compile jib:build
它会失败并出现 401 Unauthorized 异常。我需要传递用户名和密码的原因是我想在我的 CICD 管道中运行这个命令,并且需要以某种方式传递用户名和密码。我已经测试了其他方法,例如在.m2/settings.xml
or中设置凭据pom.xml
。它们都不起作用。
java - com.google.cloud.tools:jib-maven-plugin:1.4.0:dockerBuild 插件离线执行失败
当无法访问在线 docker 注册表以强制仅使用本地资源时,我应该如何设置这个 maven 插件?
插件配置是:
UPD。将 jib 插件升级到 1.61 后。并在图像名称之前添加 docker://,离线构建正在工作,但我在输出中收到以下错误:
jenkins - 如何将 Jenkins 凭据传递给 gradle?
我正在使用 jib Gradle 插件创建一个 docker 映像并将其推送到 Azure Container Registry。到目前为止,我已经向 Jenkins 添加了用户名/密码凭据,需要将它们传递给 Gradle。访问凭据或将凭据传递给 Gradle,它们会被屏蔽。希望您能够帮助我。以下是代码片段:
build.gradle(jib 配置):
詹金斯文件:
编辑:我的用户名有错字
jib - 如何使用 JIB 在容器内创建目录?
我正在尝试在 kubernetes 部署描述符中指定一个挂载点,为此我需要一个目录
对应于:
如何使用 jib 创建它?
docker - Docker 将驱动程序和中间件安装到容器中
我需要从 Kubernetes 中运行的 docker 容器访问 USB 设备。为了做到这一点,我需要有一个里面有驱动程序的图像。我还需要保证我安装了 OpenJDK 8 64 位来运行该应用程序。我正在使用 OpenJDK:alpine 基础映像这是我在主机上安装的方式:
在没有安装映像中的驱动程序并使用 hostPath 卷访问的情况下进行了尝试,但它不起作用。
spring-boot - Docker CMD 或 RUN 使用 JIB 构建
我需要创建一个基于 Ubuntu 的自定义映像,其中包含我需要使用 apt 安装的软件。例如:
而且我还希望该软件在我也将安装的 OpenJDK 1.8 64 位下运行。关键是我需要运行这样的命令。我怎样才能用 JIB 做到这一点?有没有办法让 JIB 使用 Docker 文件?有没有办法将这样的命令脚本传递给 JIB?
maven - jib-maven spring boot profile
在我的springboot项目中,有三个配置文件
application.yml --> 用于本地开发
application-test.yml --> 运行在测试环境
application-prod.yml --> 运行在生产环境
pom.xml
然后推送到我自己私有的docker仓库,就OK了
在不同的机器上运行
当我在测试机上运行时,它失败了
我的期望是这样
我应该如何配置它?container --> environment
还是dockerClient --> environment
?
我在文档中没有找到任何相关的例子,它们都只是一句话
更新 1
嗨@Haran我修改<jvmFlag>$JAVA_OPTS</jvmFlag>
并JAVA_TOOL_OPTS
重新推送
并在测试中运行
它也运行失败
然后我删除 $JAVA_TOOL_OPTS 并重复上面的 repush 和docker rm & run
,运行成功,但没有自定义环境
更新 2
该命令的引号docker -e ...
在内部和外部之间没有区别。
spring-boot - 如何启动 Spring Boot 服务并运行启动脚本
我正在使用 JHipster 创建 springboot 应用程序,我认为它使用 JIB 创建 docker 容器。一切正常,但是做一个启动脚本或运行其他东西呢?在我的情况下,我需要启动一个 apt 安装的服务
如果我只输入图像,这将不会在启动时发生。当我将它添加到 Kubernetes 中的 POD 定义中时,它会清除 springboot 应用程序启动并像我想要做的只是运行命令一样退出。如何运行将首先启动我的 pcscd 服务然后启动 spring boot 应用程序的启动脚本?
gradle - 如何在 buildSrc kotlin 文件中配置 Jib 扩展?
我正在尝试模块化我的build.gradle.kts
. 有人建议我创建一个buildSrc
文件夹。经过一些研究和一些询问后,我发现这篇文章我讨厌 Gradle!......所以这是我的尝试:
buildSrc
树:
我的build.gradle.kts
:
最后Docker.kt
:
我的问题是我找不到JibExtension
,所以当我尝试实施和配置 Jib 时,它不起作用,但build.gradle.kts
一切正常。