gcloud部署错误:找不到标签为google / docker-registry的图片 [英] gcloud deploy error: Image with tag google/docker-registry was not found
问题描述
我试图部署此项目 https://github.com/GoogleCloudPlatform/appengine- nodejs-quickstart 使用此命令
gcloud --project posised-graph-758 preview app deploy --server preview.appengine.google.com。
但是我得到这个错误:
更新模块[default]来自文件[/Users/kannix/Desktop/tmp/appengine-nodejs-quickstart/app.yaml]
11:36 PM主机:preview.appengine。 google.com
{bucket:vm-containers.poised-graph-758.appspot.com,路径:/ containers}
Traceback(最近一次调用最后一次):
File /Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py,第153行,位于< module>
main()
文件/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py,行149,在主
中_cli.Execute( )
文件/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py,第381行,执行
post_run_hooks = self .__ post_run_hooks,kwargs = kwargs)
文件/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/calliope/frontend.py,第274行,在_Execute
pre_run_hooks = pre_run_hooks,post_run_hooks = post_run_hooks)
文件/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/calliope/backend.py,第887行,运行
result = command_instance.Run(args)
文件 /Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/calliope/exceptions.py,第78行,在TryFunc中
返回func(* args,** kwargs)
文件/用户/ kannix / google-cloud-sdk / lib / googlecloudsdk / appengine / app_commands / deploy.py,第154行,运行
self .__运行(args,project,deployables)
文件/ Users / kannix /谷歌-云的SDK / LIB / GOOGL ecloudsdk / appengine / app_commands / deploy.py,第207行,在__Run
info.runtime,path,bucket)
文件/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk /appengine/lib/images/push.py,第134行,在BuildAndPushDockerImage
boto_path = config.BOTO_PATH))作为r:
文件/Users/kannix/google-cloud-sdk/./ lib / googlecloudsdk / appengine / lib / images / registry.py,第148行,在__enter__
self.Start()
文件/Users/kannix/google-cloud-sdk/./lib/在开始
self._registry.Start()
文件/ Users / kannix / google-cloud-sdk / platform / google_appengine / google / appengine / tools / docker / containers.py,第480行,在Start
self._image.Build()
文件/ Users / kannix / google-cloud-sdk / platform / google_appengine / google / appengine / tools / docker / containers.py,第309行,在Build
中引发ImageError('带有标记%s的图片未找到'%self.tag)
google.appengine.tools。 docker.containers.ImageE rror:找不到标签为google / docker-registry的图片
我试图省略 - server preview.appengine.google.com
参数,但它会导致相同的错误
docker pull google / docker-registry 您需要拉动Google / docker-registry图像来解决此错误。
注意:如果尝试重新部署时收到以下错误:
docker.docker.errors.APIError:500服务器错误:内部服务器错误(无效的注册表端点https://192.168.59.103 :49153 / v1 /:获取https://192.168.59.103:49153/v1/_ping:EOF。如果此私有注册表仅支持具有未知CA证书的HTTP或HTTPS,请将--insecure-registry 192.168.59.103:49153添加到守护程序的参数中。在HTTPS的情况下,如果您有权访问注册管理机构的CA证书,则不需要此标志;只需将CA证书放在/etc/docker/certs.d/192.168.59.103:49153/ca.crt)
确保您的docker守护进程已经使用'insecure registry'选项设置(您需要在执行以下步骤后重新启动google / docker-registry)。这与以下,(这是一个答案在 https://github.com/docker/docker/问题/ 8887 ):
$ boot2docker delete #removes old image
$ rm -f〜/ .ssh / id_boot2docker *#删除旧密钥
$ boot2docker init#生成新密钥,cert
$ boot2docker up
$ boot2docker ssh
$#add EXTRA_ARGS = - insecure-注册表<您的INSECURE主机>
$#到/ var / lib / boot2docker / profile
$ sudo /etc/init.d/docker restart
I'm trying to deploy this project https://github.com/GoogleCloudPlatform/appengine-nodejs-quickstart by using this command
gcloud --project poised-graph-758 preview app deploy --server preview.appengine.google.com .
but i get this error:
Updating module [default] from file [/Users/kannix/Desktop/tmp/appengine-nodejs-quickstart/app.yaml]
11:36 PM Host: preview.appengine.google.com
{bucket: vm-containers.poised-graph-758.appspot.com, path: /containers}
Traceback (most recent call last):
File "/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 153, in <module>
main()
File "/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 149, in main
_cli.Execute()
File "/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py", line 381, in Execute
post_run_hooks=self.__post_run_hooks, kwargs=kwargs)
File "/Users/kannix/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 "/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/calliope/backend.py", line 887, in Run
result = command_instance.Run(args)
File "/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/calliope/exceptions.py", line 78, in TryFunc
return func(*args, **kwargs)
File "/Users/kannix/google-cloud-sdk/lib/googlecloudsdk/appengine/app_commands/deploy.py", line 154, in Run
self.__Run(args, project, deployables)
File "/Users/kannix/google-cloud-sdk/lib/googlecloudsdk/appengine/app_commands/deploy.py", line 207, in __Run
info.runtime, path, bucket)
File "/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/appengine/lib/images/push.py", line 134, in BuildAndPushDockerImage
boto_path=config.BOTO_PATH)) as r:
File "/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/appengine/lib/images/registry.py", line 148, in __enter__
self.Start()
File "/Users/kannix/google-cloud-sdk/./lib/googlecloudsdk/appengine/lib/images/registry.py", line 97, in Start
self._registry.Start()
File "/Users/kannix/google-cloud-sdk/platform/google_appengine/google/appengine/tools/docker/containers.py", line 480, in Start
self._image.Build()
File "/Users/kannix/google-cloud-sdk/platform/google_appengine/google/appengine/tools/docker/containers.py", line 309, in Build
raise ImageError('Image with tag %s was not found' % self.tag)
google.appengine.tools.docker.containers.ImageError: Image with tag google/docker-registry was not found
I tried to omit the --server preview.appengine.google.com
parameter but it results in the same error
You need to pull the google/docker-registry image to resolve this error:
docker pull google/docker-registry
Note: if you receive the following error when trying to redeploy:
docker.docker.errors.APIError: 500 Server Error: Internal Server Error ("Invalid registry endpoint https://192.168.59.103:49153/v1/: Get https://192.168.59.103:49153/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 192.168.59.103:49153` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/192.168.59.103:49153/ca.crt")
Ensure that your docker daemon has been setup with the 'insecure registry' option (you will need to re-pull the google/docker-registry after the following steps) . You can do this with the following, (which was an answer on https://github.com/docker/docker/issues/8887):
$ boot2docker delete #removes old image
$ rm -f ~/.ssh/id_boot2docker* # remove old keys
$ boot2docker init #generates new keys, cert
$ boot2docker up
$ boot2docker ssh
$ # add EXTRA_ARGS="--insecure-registry <YOUR INSECURE HOST>"
$ # to /var/lib/boot2docker/profile
$ sudo /etc/init.d/docker restart
这篇关于gcloud部署错误:找不到标签为google / docker-registry的图片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!