首页 > 解决方案 > Google App Engine 是否可以从私有 Docker 注册表中提取?

问题描述

使用“自定义运行时灵活环境”选项将应用程序部署到 Google App Engine 需要在DockerfileGoogle 端构建 docker 映像。我想在Dockerfile FROM子句中从我的私有 Docker 注册表中指定一个图像。但是,我找不到任何文档或看到任何明显的选项来解释我将在哪里为私有注册表指定凭据,或调用docker login. 没有这个,gcloud app deploy当然,尝试在谷歌端拉图像是失败的。

例如:

$ gcloud app deploy
...
Beginning deployment of service
...
Sending build context to Docker daemon  3.072kB
Step 1/1 : FROM registry.gitlab.com/my/private/registry/image:latest
Get https://registry.gitlab.com/v2/my/private/registry/image/manifests/latest: denied: access forbidden

Dockerfile这种情况下,这只是:

FROM registry.gitlab.com/my/private/registry/image:latest

有谁知道这是否可以通过 Google App Engine 实现,如果可以,如何配置它?

标签: google-app-engine

解决方案


有这篇 Stackoverflow帖子已经涵盖了该主题并提供了答案。

事实上,如果您将图像上传到 Google Container Registry,它将是私有的,您将能够通过使用 IAM 权限控制谁有权访问 GCR。之后,您可以在 App Engine 部署中使用它: gcloud app deploy --image-url $GCR_IMAGE_PATH


推荐阅读