我尝试将我的appengine go应用程序部署到托管虚拟机,我不断收到此错误
Pulling image: google/appengine-go
Traceback (most recent call last):
File "/home/honeybooboo/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 170, in <module>
main()
File "/home/honeybooboo/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 166, in main
_cli.Execute()
File "/home/honeybooboo/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py", line 385, in Execute
post_run_hooks=self.__post_run_hooks, kwargs=kwargs)
File "/home/honeybooboo/google-cloud-sdk/./lib/googlecloudsdk/calliope/frontend.py", line 274, in _Execute
pre_run_hooks=pre_run_hooks, post_run_hooks=post_run_hooks)
File "/home/honeybooboo/google-cloud-sdk/./lib/googlecloudsdk/calliope/backend.py", line 928, in Run
result = command_instance.Run(args)
File "/home/honeybooboo/google-cloud-sdk/lib/googlecloudsdk/appengine/app_commands/setup_managed_vms.py", line 39, in Run
args.image_version)
File "/home/honeybooboo/google-cloud-sdk/./lib/googlecloudsdk/appengine/lib/images/pull.py", line 54, in PullBaseDockerImages
util.PullSpecifiedImages(docker_client, image_names, version, bucket)
File "/home/honeybooboo/google-cloud-sdk/./lib/googlecloudsdk/appengine/lib/images/util.py", line 232, in PullSpecifiedImages
'Error pulling {image}: {e}'.format(image=image_name, e=e))
googlecloudsdk.appengine.lib.images.util.DockerPullError: Error pulling google/appengine-go: 404 Client Error: Not Found ("No such id: localhost:49156/google/appengine-go")
我的码头版
Client version: 1.3.0
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): c78088f
OS/Arch (client): linux/amd64
Server version: 1.3.0
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): c78088f
我的Gcloud版
Google Cloud SDK 0.9.37
app 2014.11.18
app-engine-go-linux-x86_64 1.9.15
app-engine-java 1.9.15a
app-engine-managed-vms 2014.11.03
app-engine-python 1.9.15a
app-engine-python-extras 1.9.6
bq 2.0.18
bq-nix 2.0.18
compute 2014.11.25
core 2014.11.25
core-nix 2014.10.20
dns 2014.11.06
gae-go 2014.11.25
gae-go-nix 2014.09.10
gae-python 2014.05.06
gcutil 1.16.5
gcutil-nix 1.16.5
gsutil 4.6
gsutil-nix 4.6
preview 2014.11.18
preview-extensions-linux-x86_64 4.1
sql 2014.11.18
答案 0 :(得分:3)
抱歉,您遇到了问题。我们已经意识到这个问题,并且已经在下一个SDK版本中解决(一周内发布)。作为临时解决方法,请尝试运行
gcloud --verbosity debug preview app setup-managed-vms
(并在选项列表中选择Go) 几次(直到成功)获得运行时的基本图像。
另一种选择是尝试从containers-prod
中拉出基本go图像(google / appengine-go)使用google/docker-registry
https://registry.hub.docker.com/u/google/docker-registry/
拉google / docker-registry
docker pull google/docker-registry
获取您的凭据
gcloud auth print-refresh-token
存储刷新令牌和存储桶(容器产品在registry-params.env文件中)
cat registry-params.env
GCP_OAUTH2_REFRESH_TOKEN=your-refresh-token
GCS_BUCKET=containers-prod
运行注册表
docker run -d --env-file=registry-params.env -p 5000:5000 google/docker-registry
拉动图像
docker pull localhost:5000/google/appengine-go
重新标记图像
docker tag localhost:5000/google/appengine-go google/appengine-go
删除包含注册表名称的旧标记
docker rmi localhost:5000/google/appengine-go
检查你的图像在那里。你会看到像
这样的东西docker images | grep google
你会看到像
这样的东西google/appengine-go latest 35ef8e2a9c5e 13 days ago 206 MB
不要忘记停止注册表容器
docker ps
docker stop <CONTAINER ID>