问题标签 [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.

0 投票
1 回答
3870 浏览

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 命令行成功地PULLPUSH图像到“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 时缺少一些配置。

0 投票
1 回答
2026 浏览

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.xmlor中设置凭据pom.xml。它们都不起作用。

0 投票
1 回答
1188 浏览

java - com.google.cloud.tools:jib-maven-plugin:1.4.0:dockerBuild 插件离线执行失败

当无法访问在线 docker 注册表以强制仅使用本地资源时,我应该如何设置这个 maven 插件?

插件配置是:

UPD。将 jib 插件升级到 1.61 后。并在图像名称之前添加 docker://,离线构建正在工作,但我在输出中收到以下错误:

0 投票
1 回答
3501 浏览

jenkins - 如何将 Jenkins 凭据传递给 gradle?

我正在使用 jib Gradle 插件创建一个 docker 映像并将其推送到 Azure Container Registry。到目前为止,我已经向 Jenkins 添加了用户名/密码凭据,需要将它们传递给 Gradle。访问凭据或将凭据传递给 Gradle,它们会被屏蔽。希望您能够帮助我。以下是代码片段:

build.gradle(jib 配置):

詹金斯文件:

编辑:我的用户名有错字

0 投票
1 回答
3268 浏览

jib - 如何使用 JIB 在容器内创建目录?

我正在尝试在 kubernetes 部署描述符中指定一个挂载点,为此我需要一个目录

对应于:

如何使用 jib 创建它?

0 投票
1 回答
834 浏览

docker - Docker 将驱动程序和中间件安装到容器中

我需要从 Kubernetes 中运行的 docker 容器访问 USB 设备。为了做到这一点,我需要有一个里面有驱动程序的图像。我还需要保证我安装了 OpenJDK 8 64 位来运行该应用程序。我正在使用 OpenJDK:alpine 基础映像这是我在主机上安装的方式:

在没有安装映像中的驱动程序并使用 hostPath 卷访问的情况下进行了尝试,但它不起作用。

0 投票
1 回答
2864 浏览

spring-boot - Docker CMD 或 RUN 使用 JIB 构建

我需要创建一个基于 Ubuntu 的自定义映像,其中包含我需要使用 apt 安装的软件。例如:

而且我还希望该软件在我也将安装的 OpenJDK 1.8 64 位下运行。关键是我需要运行这样的命令。我怎样才能用 JIB 做到这一点?有没有办法让 JIB 使用 Docker 文件?有没有办法将这样的命令脚本传递给 JIB?

0 投票
3 回答
4919 浏览

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 ...在内部和外部之间没有区别。

0 投票
1 回答
940 浏览

spring-boot - 如何启动 Spring Boot 服务并运行启动脚本

我正在使用 JHipster 创建 springboot 应用程序,我认为它使用 JIB 创建 docker 容器。一切正常,但是做一个启动脚本或运行其他东西呢?在我的情况下,我需要启动一个 apt 安装的服务

如果我只输入图像,这将不会在启动时发生。当我将它添加到 Kubernetes 中的 POD 定义中时,它会清除 springboot 应用程序启动并像我想要做的只是运行命令一样退出。如何运行将首先启动我的 pcscd 服务然后启动 spring boot 应用程序的启动脚本?

0 投票
1 回答
1273 浏览

gradle - 如何在 buildSrc kotlin 文件中配置 Jib 扩展?

我正在尝试模块化我的build.gradle.kts. 有人建议我创建一个buildSrc文件夹。经过一些研究和一些询问后,我发现这篇文章我讨厌 Gradle!......所以这是我的尝试:

buildSrc树:

我的build.gradle.kts

最后Docker.kt

我的问题是我找不到JibExtension,所以当我尝试实施和配置 Jib 时,它不起作用,但build.gradle.kts一切正常。