【发布时间】:2020-05-20 14:47:09
【问题描述】:
我想从 Google Cloud Build 步骤运行 k8s_objects Bazel 规则,该步骤将新配置部署到我的集群。因此我需要一个带有
的Docker镜像- bazel(显然用于运行 bazel 目标)
- kubectl(用于将新配置应用到我的集群)
- gcloud(用于对我的 Google Kubernetes Engine 集群进行身份验证)
已安装。目前我有this huge docker image,它的大小为 1GB,可能堆满了我不需要的东西。因此,我的构建时间飙升至 10 分钟甚至更多。
这就是我的cloudbuild.yaml 的样子:
steps:
- name: eu.gcr.io/cents-ideas/slim-bazel-kubectl
entrypoint: /bin/sh
args:
- -c
- |
gcloud container clusters get-credentials cents-ideas --zone europe-west3-a --project cents-ideas
只有我需要的包的小型 docker 镜像会是什么样子?
【问题讨论】:
-
一个较小的 Dockerfile 示例,它具有 bazel、kubectl 和 gcloud,您可以找到 here。
-
太棒了,我会试试的! :)
-
我认为这张图片已经过时了。出现错误:
COPY failed: stat /var/lib/docker/tmp/docker-builder613695822/gcloud.pub.gpg: no such file or directory -
请仔细检查,因为
Dockerfile中的COPY指令将src中的文件复制到dest文件夹。您必须要么缺少gcloud.pub.gpg文件,要么从错误的目录构建 Dockerfile。
标签: docker gcloud bazel kubectl google-cloud-build