问题标签 [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.
docker - Kaniko:如何使用 Tekton 在 Kubernetes 中缓存来自 Gatsby 构建的文件夹?
我正在裸机 Kubernetes 集群上使用Tekton构建 CI/CD 管道。我已经设法缓存了必要的图像(节点和 Nginx)和图层,但是如何缓存Gatsby build创建的 .cache / public 文件夹?这些文件夹不存在于 repo 中。如果构建步骤没有找到这些文件夹需要更长时间,因为它需要使用 Sharp 创建所有图像。
管道附有 PVC。在任务中它被称为源(工作区)。更清楚地说,如何在构建完成后将 Gatsby 文件夹复制到此 PVC 并在下一次构建之前复制到 Kaniko 容器?
Tekton 任务具有以下步骤:
- 使用 Kaniko warmer 缓存 Docker 构建中使用的 Docker 镜像
- 创建一个时间戳,以便每次都执行“RUN build”,即使文件没有更改,因为它运行 GraphQL 查询
- 使用 Kaniko 构建和推送镜像
- & 5. 导出管道中下一步使用的图像摘要
Dockerfile
docker - Kaniko 中构建的容器目录权限不好,但在 Docker Desktop 中构建时可以工作
我创建了一个 Dockerfile 来运行一个简单的 Vue.js SPA,使用lighttpd作为网络服务器。
Dockerfile
(修改了 lighttpd 配置以将未找到的路由重定向回应用程序,以便pushState
可以使用导航,并添加了一行:server.error-handler-404 = "/index.html"
。)
当我直接在 Docker Desktop for Windows 中构建这个容器时,它运行良好,但是当我使用 Kaniko(由 GitLab CI 在 Docker Desktop for Mac 中运行)构建它时,当我尝试运行容器时出现以下错误:
当我比较容器时,我看到以下差异:
Docker 桌面构建
Kaniko建造
为什么 Kaniko 构建的容器对日志目录有错误的权限?
gitlab - 什么可能导致我使用 Kaniko 在 GitLab CI 上出现“错误检查推送权限”错误?
我正在运行 dockerized GitLab CI 13.8.3,最近在尝试构建 docker 映像(通过 Kaniko)并将其推送到我的注册表时遇到了一个新错误。管道已经为这个项目工作了几个月,我没有更改我的 docker-compose 或 gitlab-ci.yml 文件。我的 gitlab-ci.yml 的错误和摘录如下。关于我能做些什么来解决这个问题的任何想法?
错误:
这是我的 gitlab-ci.yml 文件中的适用部分:
docker - 如何在 cloudbuild.yaml 中使用 Kaniko?
我刚刚了解到可以通过使用 Kaniko 缓存来加快 Google Cloud 构建中的构建过程。我查看了文档,它提供了一个小例子。但是,我不确定如何在我的用例中应用它。我基本上是在将 Nuxt 应用程序推送到我的 Github 存储库中,并且每次推送时云都会构建它。文档示例说我们需要替换cloud-builders/docker
为kaniko-project/executor:latest
. 下面是我的一个片段cloudbuild.yaml
Kaniko docs说我需要以下内容:
这是我尝试过的(但不确定是否应该这样):
docker - 使用 Kaniko tls_process_server_certificate 构建 Docker 映像:证书验证失败
我正在尝试使用Kaniko
. 当我尝试使用APK
包管理器下载包时,我看到以下 ssl 错误。
请注意,我支持企业代理。我已经为 Kaniko 提供了证书包和代理设置。这就是为什么我能够从 docker hub 中提取高山图像的原因。
在这种情况下 SSL 有什么问题,如何配置APK
/Docker 以确保我能够下载包?
google-cloud-platform - 带有 kaniko 缓存的 Google Cloud Build 失败
我正在使用 Google Cloud Build 和 kaniko 缓存来加速。直到最近,如果工作完美,但现在它失败了
我想,这是因为 builder 内存不足
有没有办法为此选择更高级别的虚拟机或增加内存?
我使用的是此处描述的相同标准配置。
提前致谢
Ps 常规版本gcr.io/cloud-builders/docker
正在通过
google-cloud-run - 如何在构建 Cloud Run 时清除 Kaniko 缓存
因此,我们更新了 dockerfile,并希望使用旧的 Kaniko 缓存构建 w/o,但同时希望替换它。
如何强制它建立新的缓存层?
gitlab-ci - Kaniko:在管道中构建多个 dockerfile
我有一个包含多个 dockerfile 的 gitlab 存储库。我知道这并不理想。我现在想使用我的 gitlab 管道使用 kaniko 为每个 dockerfile 创建一个图像,并将其推送到其相应的 AWS ECR。当然,我可以为每个 dockerfile 定义一个作业,但这会导致代码重复和运行时开销。是否可以在一项工作中同时构建多个 dockerfile?一种可能的方法是使用 dockerfile 传递一个字符串数组,然后遍历相应的 kaniko 命令。然而,由于 kaniko 只提供了一个busybox shell,这一切都不是很好和容易的。想法?
google-cloud-platform - Gitlab GKE runner 使用工作负载身份推送到 GCR
我正在尝试使用 gitlab 运行器在 GKE 中构建图像,然后将该图像推送到 GCR。这总是失败并首先输出 AWS 错误。
我的理解是,构建 pod 是在与我的 GCR 相应服务帐户应该推送的相同命名空间中创建的。该 pod 似乎没有使用工作负载身份或由于其他原因而失败。
Gitlab Yaml
构建错误
工作负载身份测试显示命名空间的正确帐户