从Docker容器内部将图像推送到Google容器注册表

从Docker容器内部将图像推送到Google容器注册表,docker,google-cloud-platform,gcloud,google-container-registry,Docker,Google Cloud Platform,Gcloud,Google Container Registry,我目前正在尝试将Docker映像推送到我的容器注册表这是文档中使用的唯一命令: gcloud docker -- push gcr.io/my_project/foo:v1 但是由于我在Docker容器中运行了google cloud sdk,所以我不能使用gcloud Docker…,因为Docker正在主机上运行 有没有什么方法可以将图像推送到容器注册表,而不必在本地文件系统上安装googlecloudsdk?我自己设法找到了答案,但作为参考,我不会删除这个问题,而只是发布答案 为了将Do

我目前正在尝试将Docker映像推送到我的容器注册表这是文档中使用的唯一命令:

gcloud docker -- push gcr.io/my_project/foo:v1
但是由于我在Docker容器中运行了
google cloud sdk
,所以我不能使用
gcloud Docker…
,因为Docker正在主机上运行


有没有什么方法可以将图像推送到容器注册表,而不必在本地文件系统上安装
googlecloudsdk

我自己设法找到了答案,但作为参考,我不会删除这个问题,而只是发布答案

为了将Docker图像直接从
Docker
客户端推送到Google容器注册表,您需要使用
Docker login
命令以及Google云项目的身份验证令牌

要获取Google Cloud项目的身份验证令牌,请使用:

gcloud auth application-default print-access-token
然后使用该令牌使用
docker
登录到谷歌云:

docker login -u oauth2accesstoken -p "token_goes_here" https://gcr.io
如果登录成功,您现在应该能够将图像直接推送到Google容器注册表:

docker push gcr.io/my_project/foo:v1