Google容器registry+ Google计算引擎+ Docker

我无法想出一个让所有这三种技术一起工作的方法。

我有Google Container Registry。 其中,我有2个私人图像,我们称他们为A和B.我想创build一个单一的实例模板,执行以下操作:

  1. docker运行-d gcr.io/project_id/A:latest
  2. docker运行-d gcr.io/project_id/B:latest

这就是我需要做的。 我希望在启动脚本中做到这一点,这样我就可以使用一个普通的图像作为我的基础,我可以部署它在prod。

已经尝试了容器优化操作系统的所有3个版本,以及所有3个版本的CoreOS。 每个给出稍微不同的错误。

一些示例提示使用gcloud docker -- pull ,但gcloud在我尝试过的6个环境中的任何一个中都没有正确validation。

其他例子build议使用docker login -u oauth2accesstoken -p "$(gcloud auth application-default print-access-token)" https://gcr.io ,这也失败了。

我发现的唯一的其他select是做docker login -u _json_key -p "$(cat keyfile.json)" https://gcr.io允许我然后拉扯GCE图象。 这种方法的缺点是如何获得图像中的密钥文件? 我想我可以使用添加的密钥文件来创build一个自定义图像,但是我试图坚持使用我的两个docker运行命令的库存图像。 这是不可能的吗?

你看到什么错误,具体是什么?

docker-credential-gcr能够从GCE元数据中提取访问令牌。 它也可以通过在场景下执行gcloud config config-helper --format='value(credential.access_token)来拉取gcloud SDK的访问令牌。 过去曾经使用过gcloud auth print-access-token ,但没有正式的支持。