Goranek
Goranek

Reputation: 896

Unable to pull google/appengine-go docker image

I'm trying to deploy my appengine go application to managed vm, and I keep getting this error

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")

My docker version

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

My Gcloud version

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

Upvotes: 2

Views: 1115

Answers (1)

kate
kate

Reputation: 71

Sorry that you're having problems. We're aware of this issue and it is already fixed in the next SDK release (coming out in a week). As a temporary workaround please try to run

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

(and choose Go in the list of options) several times (until success) to get the base image for go runtime.

Another options is to try pulling the base go image (google/appengine-go) from containers-prod

bucket using google/docker-registry https://registry.hub.docker.com/u/google/docker-registry/

Pull the google/docker-registry

docker pull google/docker-registry

Get your credentials

gcloud auth print-refresh-token

Store your refresh token and your bucket (containers prod in a registry-params.env file)

cat registry-params.env
GCP_OAUTH2_REFRESH_TOKEN=your-refresh-token
GCS_BUCKET=containers-prod

Run registry

docker run -d --env-file=registry-params.env -p 5000:5000 google/docker-registry

Pull the image

docker pull localhost:5000/google/appengine-go

Retag the image

docker tag localhost:5000/google/appengine-go google/appengine-go

Remove old tag containing registry name

 docker rmi localhost:5000/google/appengine-go

Check your image is in there. You'll see something like

docker images | grep google

You'll see something like

google/appengine-go                  latest              35ef8e2a9c5e        13 days ago         206 MB

Don't forget to stop your registry container

docker ps
docker stop <CONTAINER ID>

Upvotes: 3

Related Questions