我使用以下命令成功pushed my Docker container image to gcr.io:
$ gcloud docker push gcr.io/project-id-123456/my-image
但是当我尝试create a new pod时,我收到以下错误:
$ 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
它也没有吸引我的当地人:
$ 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
有人可以建议我如何解决这个问题吗?
答案 0 :(得分:4)
好的,在挖掘Docker代码库后,我想我已经找到了一些类似的报告。
显示此错误的方式在1.7中已更改,但此线程似乎相关: https://github.com/docker/docker/issues/14792
这让我陷入了这个修复,它落在了1.8: https://github.com/docker/docker/pull/15040
特别是,请参阅此评论: https://github.com/docker/docker/pull/15040#issuecomment-125661037
该评论似乎表明这只是v1层的一个问题,因此我们对v2的Beta支持可能会解决此问题。
您可以通过以下方式推送到我们的v2测试版:
gcloud docker --server=beta.gcr.io push beta.gcr.io/project-id-123456/...
然后,您可以简单地将Pod中的引用更改为“beta.gcr.io / ...”,它将通过v2拉出。