问题标签 [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.
java - Kubectl Java 客户端在使用 exec 时返回退出代码 3
我正在为应用程序编写一个小备份程序。这将在我的 k8s 集群中作为 CronJob 运行。在某一时刻,它应该在另一个 pod 内的数据库上触发 mysql 转储。
我的代码:
process.exitValue() 始终包含 3 + 创建的 mysql 转储文件,但不包含任何 sql 语句。有人知道我做错了什么吗?
我的备份程序的基本映像是 gcr.io/distroless/java:11 如果有帮助并且是使用Jib构建的
maven - 通过控制台使用 JIB 和动态参数创建图像泊坞窗
我需要创建使用 Jhipter 应用程序(maven、spring-boot)生成的 docker 容器。如果我通过控制台动态传递参数,则可以正常工作:
另一方面,创建我的 docker 镜像让我变得完美
当我想用我的动态参数创建 docker 容器时,我遇到了问题。我没有接受它们,虽然它没有给出错误,但它没有将其合并到它创建的图像中
jenkins-pipeline - 如何传递 jenkins 的凭据以将 docker 映像推送到我自己的注册表?
JHipster 现在使用 maven-jib-plugin。在此之前,我在 docker-container 中运行的 jenkins 服务器能够使用 *.war 文件构建 docker 映像,并使用“Jenkinsfile”(对于 gradle,但我切换了)通过管道将其推送到我自己的 docker-registry现在到 Maven),在作业完成后,另一个作业通过使用 ssh 在远程主机上执行 shell 脚本,将新构建的 docker-image 拉到我的服务器上的新 docker-container 中。
此任务的阶段是:
现在据我所知,让它变得更容易,并且制作jib
中的相关部分归结为Jenkinsfile
$ jhipster ci-cd
不幸的是jib
,似乎不再使用给定 $REGISTRY_USER 的 docker-registry 用户登录凭据,这些凭据与之前在 Jenkins 中运行的 docker 守护进程一样保存在 Jenkins 的“凭据”部分中。
如何告诉jib
jenkins 管道中的 -plugin 使用存储在我的 jenkins 帐户中的 docker-registry-login 凭据,我认为这是/是一个安全的解决方案?我不希望在每个客户端或 github 上处理凭据(尤其是密码)。
maven - Jib - 如何使用基础镜像中的环境变量
我有一个基本的 java 映像,其中一些预定义的 java_opts 作为环境变量。如何在插件中使用它们?
java - Jib 插件无法访问由另一个 Gradle 插件更新的 project.version
我的build.gradle
设置如下(为简洁起见仅列出插件)
该gitflowsemver
插件project.version
基于 GitFlow 分支策略进行更新。该publish
任务能够访问gitflowsemver
插件更新的版本,但是当我尝试使用 构建 docker 映像时jib
,它不会用更新的版本标记映像。它总是被标记为unspecified
。但是,如果我取消注释该行version = '0.1.0'
,jib
插件就可以获取该版本。我无法理解为什么。非常感谢任何帮助。
maven - 带有 Jenkins 脚本管道的 Jib-Maven-plugin:如何登录到私有 Docker 注册表?
关于这个问题,我用脚本化的 Jenkins 管道更新了我的 JHipster-Application 并且现在有Jenkinsfile
(部分遵循这些提示):
将 Jenkins 全局凭据myregistry-login
保存在我的 Jenkins-Server 中到我自己的 docker 注册表 v2 docker-container https://myregistry.mydomain.com
(出于安全原因更改了域)。我可以$ docker login myregistry.mydomain.com
使用docker login https://myregistry.mydomain.com
存储docker login myregistry.mydomain.com:443
在myregistry-login
.
在pom.xml
(遵循这些提示以及this、this和this):
whereusername
和是这里imagename
的de.myproject_name.MyApp
占位符。
不幸的是我得到
所以withEnv
没有转发给 Maven 和/或 jib-maven-plugin 没有读取<auth>
-Tag,对吗?我还在做错什么?为什么会有 I/O 错误registry-1.docker.io
?
java - Maven JIB 在 arm32v7/adoptopenjdk docker 容器内返回“CertPathValidatorException:签名检查失败”
我正在使用安装了 Docker 的树莓派 4。我正在尝试为我的 Java 项目创建一个构建容器,并让构建容器使用Maven JIB创建 Docker 映像。当我在arm32v7/adoptopenjdk:13.0.1_9-jdk-hotspot-bionic容器中尝试此操作时,JIB 给出以下错误:
当我在笔记本电脑上的 Ubuntu 虚拟机中尝试相同的设置时,安装了 Docker 并使用了openjdk:13-jdk容器,它成功了。
我正在尝试使用 JIB 作为构建插件构建一个简单的spring initialzr java 项目。我的 pom.xml 中的构建标记如下所示:
pom.xml
由于 PKIX 错误,我立即想到了一个过时的 cacerts,所以我将 cacerts 文件从它工作的openjdk:13-jdk容器复制到arm32v7/adoptopenjdk:13.0.1_9-jdk-hotspot-bionic容器并运行maven 命令,但仍然收到相同的错误。
如果您有带有 Debian Buster OS 的 raspberry pi 4,则可以使用以下步骤重现此错误:
- 使用以下命令安装 docker:
curl https://get.docker.com | sh
- 创建一个简单的spring initialzr项目并在树莓派上解压。更新 pom.xml 文件中的构建标记,使其看起来像我上面的那样。在我的例子中,解压后的更新代码在 /opt/app 下。
- 运行 docker 容器并使用以下命令进入 bash 终端:
docker run --rm -it -v /opt/app:/opt/app -v /var/run/ docker.sock:/var/run/docker.sock -v $(which docker):$(which docker) arm32v7/adoptope njdk:13.0.1_9-jdk-hotspot-bionic bash
- 在 docker 容器中,将目录更改为 /opt/app:
cd /opt/app
- 运行 maven 命令编译构建 docker 镜像:
./mvnw clean package -DskipTests
我不确定这是 JIB 错误、AdoptOpenJDK 错误还是我只是忽略了什么?
亲切的问候
maven - 如何使用 jib 正确 dockerize maven 项目
我有一个 Spring Boot maven 应用程序,我需要使用 jib 插件对其进行 dockerize,并将其发送到 azure 容器注册表注册表已设置并准备就绪,包括用户名、密码等...我的 pom.xml 如下所示:
当我运行命令“mvn compile jib:build”时,我得到以下输出:
基本映像位于公共 docker hub 存储库中。当我运行 docker pull ... - 我能够毫无问题地拉动它。
如何调整这个 pom 文件,以启用基础镜像?
java - Docker 环境中的 Spring Boot 外部配置:application.yml 不存在
在开始解释我的问题之前,值得一提的是,虽然我正在尝试将 Maven Jib 插件与 Spring Boot 和 Kubernetes 结合使用,但即使我尝试使用普通的 docker,问题也是一样的。
我使用 Kubernetes configMap 创建了 application.yml 文件并将其作为外部文件挂载到 Pod ( /config/application.yml
)。我一直面临的问题是我的应用程序无法找到该application.yml
文件并抛出一个典型的异常:
通过使用不同的参数,我尝试了不同的方法来使用 Jib,如下所示。
他们都没有为我工作。我也尝试使用SPRING_CONFIG_NAME
环境变量并将其设置file:/config/application.yml
为 pod,但仍然是同样的问题。
我可以验证配置文件是否存在于指定位置并且没有权限问题(据我所知)。
application.yml
有趣的是,当我在默认类路径中只创建一个空文件时,(src/main/resources)
它通过了第一次验证并且应用程序成功加载(使用来自 的实际值/config/application
),所以无论是什么问题,它都会受到之前 Spring Boot 初始验证的影响甚至将应用程序文件传递给相应的类。
dockerfile - 适用于 JDK 13 的 Google Distroless 映像
谷歌是否为 JDK 13 发布了 distroless 映像?如果没有,JDK 13 的最佳替代方案是什么?