问题标签 [kaniko]

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 回答
1358 浏览

dockerfile - 为什么 Kaniko 不能推送多阶段 Docker Image?

使用 Kaniko 在 GitLab CI 上构建以下 Dockerfile,导致错误error pushing image: failed to push to destination eu.gcr.io/stritzke-enterprises/eliah-speech-server:latest: Get https://eu.gcr.io/...: exit status 1

如果我从 Dockerfile 中删除第一个FROM,RUNCOPY --from语句,则会按预期构建和推送 Docker 映像。如果我在本地机器上使用 Docker 执行 Kaniko 构建,一切都会按预期工作。我使用相同的 GCE 服务帐户凭据执行其他 Kaniko 构建并推送到相同的 GitLab CI 运行器上。

基于 GitLab CI 的 Kaniko 构建出了什么问题?

Dockerfile

GitLab CI 构建阶段

0 投票
2 回答
1391 浏览

jenkins - 在 Jenkins Slave 中运行 Kaniko

我想在 jenkins 中将 kaniko 作为奴隶运行。我的管道在 docker 插件上运行,我如何使用 kaniko 设置 gcr 凭据。

我想将 GCR 凭据上传到 Jenkins 主服务器。

我的管道 groovy 如下所示:

0 投票
1 回答
1605 浏览

docker - gitlab kaniko - 没有找到匹配的凭据,依靠匿名

我正在使用 kaniko 图像将图像推送到私有 docker 寄存器,它给了我No matching credentials were found, falling back on anonymous.

config.json 文件是有效的,因为我通过 docker login 验证了我还按照kaniko gitlab在 k8s 中运行 kaniko,并得到相同的错误

0 投票
1 回答
929 浏览

kubernetes - 将镜像从 Registry Y 拉取、标记和推送到 Registry X

目前,我们的 CI/CD 环境是基于 Kubernetes 的云。由于性能优势,Kubernetes 云提供商最近删除了 docker 守护程序。例如,Google Kubernetes Engine 或 IBM Cloud Kubernetes 仅具有 Containerd 运行时,用于运行但不构建容器映像。

像kanikojib这样的许多工具可以弥补这一差距。它们提供了一种非常有效地构建 docker 映像的方法,而无需 docker 守护程序。

问题来了:

  1. 图像“registry-x.com/repo/app1:v1-snapshot”从 CI 中的 jib 构建到 registry-x。
  2. 然后在某个时间点部署和测试图像“registry-x.com/repo/app1:v1-snapshot”,如果测试成功,则需要将其交付到注册表 Y,并且需要标记为稳定版本在注册表 X 中。

因此图像“registry-x.com/repo/app1:v1-snapshot”需要从“registry-x.com/repo/app1:v1-snapshot”标记为“registry-x.com/web/app1:v1” -release”,然后需要另外标记“registry-y.com/web/app1:v1-release”,并且都需要推送。

结果:开发中的快照映像在两个注册表中都可用,并带有发布标签。

那么如何在没有 docker 守护进程的情况下完成这 3 个简单的操作(Pull、Tag、Push)呢?似乎 kaniko 和 jib 不是办法。

我不想订购 VM 只是为了让 docker 守护程序来执行这些操作。而且我也知道 Jib 能够推送到多个注册表。但它不能只重命名图像。

也与去年的这个问题有关: 将图像从 docker 注册表克隆到另一个

问候,莱昂

0 投票
3 回答
3762 浏览

docker - 解析 dockerfile 路径时出错:请使用 --dockerfile 在构建上下文中提供 Dockerfile 的有效路径

我在 kubernetes pod 上运行 kaniko 以构建 docker 映像并推送到 GCR。

当我为 CONTEXT_PATH 使用谷歌云存储时,它工作正常,但我需要使用 Local_directory(意味着使用 pod 的共享卷)作为 CONTEXT_PATH 它会引发错误

用法:

0 投票
1 回答
1701 浏览

docker - 如何使用基于 kaniko 的 gitlab-runner 构建 node.js 映像?

我正在使用一个自托管的 Gitlab 存储库来推送我的代码。该代码包含一个 Dockerfile,它成功地在我的机器上本地创建了一个 docker-image。我现在的意图是自动化这个构建过程并将 docker-build 集成到 Gitlab-Pipeline 中。我绑定了共享的跑步者,所以我无法整合我自己的跑步者。而且这些跑步者并不是为简单的 docker-in-docker 构建而设置的。我看到另一个项目使用该图像gcr.io/kaniko-project/executor:debug来解决这个问题。它成功地启动了我的 Dockerfile 的构建过程,但是在执行我的第一个RUN参数之后,它开始向层添加数百万个工件,直到它冻结。

我尝试用 node:slim 替换 node:latest 图像,它在 Dockerfile 中进一步执行了一次。所以我认为问题在于基础图像的加载。但我无法弄清楚原因。
Kaniko 不能下载基础镜像吗?
我需要以不同的方式提供基本图像吗?
有人有一个基于节点构建图像的功能性 kaniko 管道的示例吗?

以下部分显示了跑步者的日志。

0 投票
1 回答
1228 浏览

docker - kaniko docker build:找不到命令

kaniko的新手,并尝试在 ubuntu docker 主机中构建 docker 镜像。

我有一个本地Dockerfilemain.go应用程序

在命令行中,我运行

不幸的是,我收到如下错误

怎么了?(码头工人版本 18.09.0)

0 投票
1 回答
733 浏览

docker - 如何在本地 kubernetes 上使用 Kaniko

我在 docker for windows 上使用 kubernetes。
我想使用 Kaniko,但我无法在本地 kubernetes 上构建图像。

Dockerfile

kanikopod.yaml

但是发生了 ContainerCannotRun 错误。

kubectl describe pods kaniko
结果是

kubectl logs kaniko
但是没有输出。

我认为 kaniko 需要“--destination=”选项,但我找不到信息。
我应该怎么办?

0 投票
1 回答
1028 浏览

kubernetes - 使用 Kaniko 从 Kubernetes CloudBees Jenkins 共享库构建容器的问题

我正在尝试使用调用 Kaniko 的 Jenkins 共享库构建容器。Jenkins 是运行在 Kubernetes 集群上的 CloudBees 核心。

我更喜欢尝试使用 pod 模板来构建容器,但如果必须,我可以回退到专用 VM(但我的客户不会高兴)。

问题:从简单的Jenkinsfile管道运行 Kaniko 工作正常,但尝试从shared-library.

我的共享库的片段:

我得到的错误(剪断):

有没有其他人能够让 Kaniko 在 Kubernetes 上的 Jenkins 共享库中运行?

0 投票
1 回答
1308 浏览

dockerfile - 如何在 kaniko 中为多阶段 Dockerfile 指定构建目标?

我正在寻找一种在 Kaniko 中为多阶段 Dockerfile 定义特定构建目标的方法。

我有 Dockerfile 有几个阶段。我可以使用 docker build --target 构建一个特定的阶段。我可以对 Kaniko 做同样的事情吗?