从Docker容器内部将图像推送到Google Container Registry

fdbelqdn  于 2023-10-16  发布在  Docker
关注(0)|答案(2)|浏览(120)

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

gcloud docker -- push gcr.io/my_project/foo:v1

但是由于我在Docker容器中运行google-cloud-sdk,我不能使用gcloud docker ...,因为Docker是在主机上运行的。
有没有什么方法可以将映像推送到容器注册表,而不必在本地文件系统上安装google-cloud-sdk

pn9klfpd

pn9klfpd1#

我设法找到一个答案,但作为参考,我不会删除这个问题,而是只是张贴答案。
为了将Docker镜像直接从docker客户端推送到Google Container Registry,您需要将docker login命令与Google Cloud项目的身份验证令牌一起使用。
要获取Google Cloud项目的身份验证令牌,用途:

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
vecaoik1

vecaoik12#

值得一提的是,Google Container Registry将很快被弃用,取而代之的是Google Container Registry。
有了新的方法,上面的答案将不再起作用。如果你正在寻找指导,请参阅下面的文档:
https://cloud.google.com/artifact-registry/docs/docker/store-docker-container-images#push

相关问题