我正在尝试将 Docker 镜像从 Google Container Registry 获取到 Google Compute Engine 实例上。 (我需要的图片已经成功上传到GCR。)
gcloud auth login
登录然后尝试 gcloud docker pull -- us.gcr.io/app-999/app
结果是 ERROR: (gcloud.docker) Docker is not installed.
. .docker/config.json
的文件时,我看到了我的凭据.这样做,看起来它会起作用,但最终会像这样结束:mbname@instance-1 ~ $ docker pull -- us.gcr.io/app-999/app
Using default tag: latest
latest: Pulling from app-999/app
b7f33cc0b48e: Pulling fs layer
43a564ae36a3: Pulling fs layer
b294f0e7874b: Pulling fs layer
eb34a236f836: Waiting
error pulling image configuration: unauthorized: authentication required
这看起来像是进步,因为至少它试图下载一些东西。
我也在我的本地机器上尝试了这两种方法,两种方法都成功了。
我错过了什么吗?
谢谢你的帮助。
附言我还尝试从另一个注册表加载容器(
Docker Hub) 并且运行良好,但我需要多个容器并希望降低费用。
最佳答案
联系 Google 支持后,他们告诉我 CoreOS 中存在错误 gcloud
别名。这个错误是通过覆盖 shell 中的别名来修复的,如下所示:
alias gcloud='(docker images google/cloud-sdk || docker pull google/cloud-sdk) > /dev/null;docker run -t -i --net=host -v $HOME/.config:/.config -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker google/cloud-sdk gcloud'
我已经试过了,现在可以用了。
关于docker - 无法从 Google Compute Engine 访问 Google Container Registry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41731814/