首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cloud Build中禁用` `docker pull`输出?

如何在Cloud Build中禁用` `docker pull`输出?
EN

Stack Overflow用户
提问于 2020-09-24 07:45:54
回答 1查看 130关注 0票数 1

我正在使用Google Cloud build来构建我的项目,但我不能想出一种方法来使Docker的输出静默,而Docker正在拉取映像以用于给定的构建步骤。例如,假设我有一个cloudbuild.yaml文件,如下所示:

代码语言:javascript
复制
steps:
  - name: 'gradle:6.6.1-jdk11'
    entrypoint: bash
    args:
      - -c
      - |
        echo "bla"

当我运行这个构建时,前40个(!)构建步骤的行包括:

代码语言:javascript
复制
Starting Step #0
Step #0 - "Build & push container": Pulling image: gradle:6.6.1-jdk11
Step #0 - "Build & push container": 6.6.1-jdk11: Pulling from library/gradle
Step #0 - "Build & push container": 5d9821c94847: Pulling fs layer
Step #0 - "Build & push container": a610eae58dfc: Pulling fs layer
Step #0 - "Build & push container": a40e0eb9f140: Pulling fs layer
Step #0 - "Build & push container": 1854bb447e96: Pulling fs layer
Step #0 - "Build & push container": efdba649c66e: Pulling fs layer
Step #0 - "Build & push container": 5541276c408d: Pulling fs layer
Step #0 - "Build & push container": 38817ec8e266: Pulling fs layer
Step #0 - "Build & push container": db18551b94a0: Pulling fs layer
Step #0 - "Build & push container": 1854bb447e96: Waiting
Step #0 - "Build & push container": efdba649c66e: Waiting
Step #0 - "Build & push container": 5541276c408d: Waiting
Step #0 - "Build & push container": 38817ec8e266: Waiting
Step #0 - "Build & push container": db18551b94a0: Waiting
Step #0 - "Build & push container": a610eae58dfc: Verifying Checksum
Step #0 - "Build & push container": a610eae58dfc: Download complete
Step #0 - "Build & push container": a40e0eb9f140: Verifying Checksum
Step #0 - "Build & push container": a40e0eb9f140: Download complete
Step #0 - "Build & push container": 5d9821c94847: Verifying Checksum
Step #0 - "Build & push container": 5d9821c94847: Download complete
Step #0 - "Build & push container": 1854bb447e96: Verifying Checksum
Step #0 - "Build & push container": 1854bb447e96: Download complete
Step #0 - "Build & push container": 5541276c408d: Verifying Checksum
Step #0 - "Build & push container": 5541276c408d: Download complete
Step #0 - "Build & push container": efdba649c66e: Verifying Checksum
Step #0 - "Build & push container": efdba649c66e: Download complete
Step #0 - "Build & push container": 38817ec8e266: Verifying Checksum
Step #0 - "Build & push container": 38817ec8e266: Download complete
Step #0 - "Build & push container": db18551b94a0: Verifying Checksum
Step #0 - "Build & push container": db18551b94a0: Download complete
Step #0 - "Build & push container": 5d9821c94847: Pull complete
Step #0 - "Build & push container": a610eae58dfc: Pull complete
Step #0 - "Build & push container": a40e0eb9f140: Pull complete
Step #0 - "Build & push container": 1854bb447e96: Pull complete
Step #0 - "Build & push container": efdba649c66e: Pull complete
Step #0 - "Build & push container": 5541276c408d: Pull complete
Step #0 - "Build & push container": 38817ec8e266: Pull complete
Step #0 - "Build & push container": db18551b94a0: Pull complete
Step #0 - "Build & push container": Digest: sha256:c40a882448431c71719d33939ee5418db2333e3380e9940f632cdb597d230dcc
Step #0 - "Build & push container": Status: Downloaded newer image for gradle:6.6.1-jdk11
Step #0 - "Build & push container": docker.io/library/gradle:6.6.1-jdk11

这是我不需要的信息,我想关闭pull进程的日志记录,但我找不到任何配置选项来这样做。

EN

回答 1

Stack Overflow用户

发布于 2020-10-01 05:44:20

我已经想出了一个,嗯,不是真正的解决方案,但更多的是一个变通的办法。如果在对图像执行实际操作的步骤之前,使用启用了-q开关的拉取图像的步骤,则会得到更少的噪声。诀窍是使用已经缓存在Cloud Build节点(在本例中为gcr.io/cloud-builders/docker)上的Google镜像执行docker pull,因此它也不必获取该镜像。YAML如下所示:

代码语言:javascript
复制
steps:
  - name: 'gcr.io/cloud-builders/docker'
    id: "Prefetch Gradle container"
    args: [ "pull", "-q", "gradle:6.6.1-jdk11" ]
  - name: 'gradle:6.6.1-jdk11'
    entrypoint: bash
    args:
      - -c
      - |
        echo "bla"

输出如下所示:

代码语言:javascript
复制
Starting Step #0 - "Prefetch Gradle container"
Step #0 - "Prefetch Gradle container": Already have image (with digest): gcr.io/cloud-builders/docker
Step #0 - "Prefetch Gradle container": docker.io/library/gradle:6.6.1-jdk11
Finished Step #0 - "Prefetch Gradle container"
Starting Step #1 - "Build & push container"
Step #1 - "Build & push container": Already have image: gradle:6.6.1-jdk11

这并不是很理想,因为额外的步骤需要Cloud Build花费更长的时间来提取镜像(不确定为什么),但它确实消除了许多不必要的日志线。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64037698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档