【问题标题】:Unable to pull google/appengine-go docker image无法提取 google/appengine-go docker 映像
【发布时间】:2014-12-02 06:37:09
【问题描述】:

我正在尝试将我的 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")

我的 docker 版本

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 版本

谷歌云 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

【问题讨论】:

    标签: google-app-engine docker gcloud


    【解决方案1】:

    抱歉,您遇到了问题。我们已经注意到这个问题,并且已经在下一个 SDK 版本中修复(一周后发布)。作为临时解决方法,请尝试运行

    gcloud --verbosity debug preview app setup-managed-vms
    

    (并在选项列表中选择 Go) 多次(直到成功)来获取 go runtime 的基础镜像。

    另一种选择是尝试从容器产品中提取基本 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 文件中的容器 prod)

    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>
    

    【讨论】:

    • google/appengine-java docker 镜像是否一样?我在docker pull localhost:5000/google/appengine-java 步骤(将go 替换为java)出现错误,即Error pulling image (latest) from localhost:5000/google/appengine-java, Server error: Status 0 while fetching image layer (3acec9a6a6593a35064dba416e0d0b4a08b25a51760ace859095f7ac8e89e6c5)
    • 另外,是否需要先启用计费才能执行此操作?我想在本地测试。
    • 请在此处告知我们下一个版本何时可用
    • @domenicop 我也遇到了同样的错误Error pulling image (latest) from localhost:5000/google/appengine-python27, Server error: Status 0 while fetching image layer (f01dc3167ff18445bad4a9060cfbb51b3cbec2cf36ba705492d5dd4f1c8e2349)。虽然我正在为 appengine-python27 运行它,但它应该仍然可以工作。
    • 在 docker 服务器日志中我看到了这个time="2014-12-13T16:17:28Z" level="debug" msg="Error contacting registry: Get http://localhost:5000/v1/images/f01dc3167ff18445bad4a9060cfbb51b3cbec2cf36ba705492d5dd4f1c8e2349/layer: read tcp 127.0.0.1:5000: i/o timeout"
    猜你喜欢
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    • 2020-10-16
    • 2017-09-22
    • 2021-08-26
    • 2019-10-21
    相关资源
    最近更新 更多