docker - 使用基于彼此的 Docker 映像的 Google Cloud Build
问题描述
我有两个或多个 Docker 映像,后者基于第一个映像。我想用 Google Cloud Build 构建它们,并有以下多步骤 cloudbuild.yaml:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/$PROJECT_ID/lh-build', './src']
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/$PROJECT_ID/lhweb', './src/LHWeb']
images:
- gcr.io/$PROJECT_ID/lh-build
- gcr.io/$PROJECT_ID/lhweb
当我运行这个构建配置时,我可以看到以下错误:
步骤 1/6:未找到来自 eu.gcr.io/logistikhelden/lh-build 的 eu.gcr.io/logistikhelden/lh-build 清单
然后我尝试在第一步之后推送图像:
...
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'gcr.io/$PROJECT_ID/lh-build']
...
但是,同样的问题仍然存在。知道这里有什么问题吗?
解决方案
您正在将映像推送到 gcr.io,但看起来您的 Dockerfile 在 eu.gcr.io 注册表中指定了一个基本映像。尝试将 Dockerfile 基础映像更改为FROM gcr.io/logistikhelden/lh-build
.
推荐阅读
- c# - 当 iOS 上涉及本地数据库时,Xamarin.Forms 重新加载到可观察的集合故障
- nlp - 预训练的 BERT 模型学习错误的方式
- facebook-graph-api - 来自 FB API 的实时更新
- c# - 使用返回值和 async/await 并行执行
- reactjs - 根据其他组件的状态更改显示
- unreal-engine4 - 如何使用来自 SUMO 的加速度/速度数据在 UE4 中设置车辆的油门输入?
- android - 无法访问依赖组件 - EMDK 条形码 - Android 工作配置文件 - Xamarin
- haskell - 未找到 Haskell 堆栈测试 cabal 文件 inro
- powerbi - 如何有条件地格式化 Power BI 中未汇总字段的字体颜色?
- r - 如何从R列中的特定值中减去一个值