gcloud部署错误:找不到标签为google / docker-registry的图片 [英] gcloud deploy error: Image with tag google/docker-registry was not found

查看:149
本文介绍了gcloud部署错误:找不到标签为google / docker-registry的图片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图部署此项目 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆