我目前正在尝试将Docker镜像推送到我的容器注册表,这是文档中使用的唯一命令:
gcloud docker -- push gcr.io/my_project/foo:v1
但是由于我在Docker容器中运行google-cloud-sdk,我不能使用gcloud docker ...,因为Docker是在主机上运行的。有没有什么方法可以将映像推送到容器注册表,而不必在本地文件系统上安装google-cloud-sdk?
google-cloud-sdk
gcloud docker ...
pn9klfpd1#
我设法找到一个答案,但作为参考,我不会删除这个问题,而是只是张贴答案。为了将Docker镜像直接从docker客户端推送到Google Container Registry,您需要将docker login命令与Google Cloud项目的身份验证令牌一起使用。要获取Google Cloud项目的身份验证令牌,用途:
docker
docker login
gcloud auth application-default print-access-token
然后使用该令牌通过docker登录Google Cloud:
docker login -u oauth2accesstoken -p "token_goes_here" https://gcr.io
如果登录成功,您现在应该可以直接将图像推送到Google Container Registry:
docker push gcr.io/my_project/foo:v1
vecaoik12#
值得一提的是,Google Container Registry将很快被弃用,取而代之的是Google Container Registry。有了新的方法,上面的答案将不再起作用。如果你正在寻找指导,请参阅下面的文档:https://cloud.google.com/artifact-registry/docs/docker/store-docker-container-images#push
2条答案
按热度按时间pn9klfpd1#
我设法找到一个答案,但作为参考,我不会删除这个问题,而是只是张贴答案。
为了将Docker镜像直接从
docker
客户端推送到Google Container Registry,您需要将docker login
命令与Google Cloud项目的身份验证令牌一起使用。要获取Google Cloud项目的身份验证令牌,用途:
然后使用该令牌通过
docker
登录Google Cloud:如果登录成功,您现在应该可以直接将图像推送到Google Container Registry:
vecaoik12#
值得一提的是,Google Container Registry将很快被弃用,取而代之的是Google Container Registry。
有了新的方法,上面的答案将不再起作用。如果你正在寻找指导,请参阅下面的文档:
https://cloud.google.com/artifact-registry/docs/docker/store-docker-container-images#push