首页 > 解决方案 > 如何在 gcp vm 中部署 docker 映像

问题描述

我正在尝试将一个简单的 R Shiny 应用程序容器化在 Docker 映像中,部署到由 Google Cloud Platform 托管的虚拟机上,但我遇到了问题。

这些文件存储在 Github 存储中,Docker 映像是使用 GCP/ Cloud Build 上的触发器构建的。Docker 文件基于rocker /shiny 格式。

构建被正确触发并开始构建,但构建在 10 分钟后一直超时。

TIMEOUT ERROR: context deadline exceeded

有没有我可以添加到 Dockerfile 以延长构建时间的命令,还是我的 Dockerfile 错误?

标签: rdockershinydockerfilegoogle-cloud-build

解决方案


您可以使用 Cloud Build 配置 (cloudbuild.yaml) 延长超时时间。构建的默认超时为 10 分钟。请注意,您为每个步骤以及整个构建定义超时:https ://cloud.google.com/cloud-build/docs/build-config

对于您的应用,cloudbuild.yaml 看起来像

steps:
- name: 'gcr.io/cloud-builders/docker' 
  args: ['build', '--tag=gcr.io/$PROJECT_ID/linear', '.'] # build from Dockerfile
images: ['gcr.io/$PROJECT_ID/linear'] # push tagged images to Container Registry
timeout: '1200s' # extend timeout for build to 20 minutes

推荐阅读