Google Cloud Build Docker build-arg 不受尊重

问题描述 投票:0回答:2

我在使用 Google Cloud Build 时遇到问题,其中 docker build 命令似乎不接受 build-arg 选项,即使相同的命令在本地按预期工作:

Dockerfile:

ARG ASSETS_ENV=development
RUN echo "ASSETS_ENV is ${ASSETS_ENV}"

构建命令:

docker build --build-arg="ASSETS_ENV=production" .

本地结果:

ASSETS_ENV is production

云构建结果:

ASSETS_ENV is development
docker google-cloud-platform google-cloud-build
2个回答
11
投票

好的修复是在云构建 yaml 配置中:

之前:

- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '--build-arg="ASSETS_ENV=production"', '.']

之后:

- name: 'gcr.io/cloud-builders/docker'
  entrypoint: 'bash'
  args: ['-c', 'docker build --build-arg="ASSETS_ENV=production" .']

3
投票

对于任何这样定义自己的步骤的人:

- name: 'gcr.io/cloud-builders/docker'
  args:
  - build
  - foo
  - bar

来自 @nader-ghanbari 的评论对我有用:

- name: 'gcr.io/cloud-builders/docker'
  args:
  - build
  - --build-arg
  - TF2_BASE_IMAGE=${_TF2_BASE_IMAGE}
© www.soinside.com 2019 - 2024. All rights reserved.