Petr Razumov
Petr Razumov

Reputation: 2142

Error running pod with image from gcr.io

I've successfully pushed my Docker container image to gcr.io with the following command:

$ gcloud docker push gcr.io/project-id-123456/my-image

But when I try to create a new pod I get the following error:

$ kubectl run my-image --image=gcr.io/project-id-123456/my-image
CONTROLLER  CONTAINER(S)  IMAGE(S)                           SELECTOR      REPLICAS
my-image    my-image      gcr.io/project-id-123456/my-image  run=my-image  1

$ kubectl get pods
NAME            READY  STATUS                                                                                                   RESTARTS   AGE
my-image-of9x7  0/1    Error pulling image (latest) from gcr.io/project-id-123456/my-image, Untar exit status 1 unexpected EOF  0          5m

It doesn't pull on my local as well:

$ docker rmi -f $(docker images -q) # Clear local image cache
$ gcloud docker pull gcr.io/project-id-123456/my-image:latest
…
Error pulling image (latest) from gcr.io/project-id-123456/my-image, Untar re-exec error: exit status 1: output: unexpected EOF

Can someone please suggest me how to fix this?

Upvotes: 4

Views: 1025

Answers (1)

mattmoor
mattmoor

Reputation: 1707

Ok, after digging around in the Docker code base, I think I have found some similar reports of what you are seeing.

The way this error is displayed changed in 1.7, but this thread seems related: https://github.com/docker/docker/issues/14792

This turned me onto this fix, which landed in 1.8: https://github.com/docker/docker/pull/15040

In particular, see this comment: https://github.com/docker/docker/pull/15040#issuecomment-125661037

The comment seems to indicate that this is only a problem for v1 layers, so our Beta support for v2 may work around this issue.

You can push to our v2 beta via: gcloud docker --server=beta.gcr.io push beta.gcr.io/project-id-123456/...

You can then simply change the reference in your Pod to "beta.gcr.io/..." and it will pull via v2.

Upvotes: 4

Related Questions