拉Java 8图像时出现Docker错误 - "注册层失败"

Chr*_*zek 11 java docker

我试图拉最新的官方Java docker镜像(java:8),但我一直收到failed to register layer错误.Java 7和9 docker镜像下载成功.我正在运行OS X El Capitan版本10.11.1.

> docker -v
Docker version 1.10.0, build 590d5108
> docker-machine -v
docker-machine version 0.6.0, build e27fb87
> docker pull java:8
8: Pulling from library/java
03e1855d4f31: Extracting [==================================================>] 51.36 MB/51.36 MB
a3ed95caeb02: Download complete 
9269ba3950bb: Download complete 
6ecee6444751: Download complete 
5b865d39f77d: Download complete 
e7e5c0273866: Download complete 
6a4effbc4451: Download complete 
4b6cb08bb4bc: Download complete 
7b07ad270e2c: Download complete 
failed to register layer: rename /mnt/sda1/var/lib/docker/image/aufs/layerdb/tmp/layer-273420626 /mnt/sda1/var/lib/docker/image/aufs/layerdb/sha256/78dbfa5b7cbc2bd94ccbdba52e71be39b359ed7eac43972891b136334f5ce181: directory not empty
Run Code Online (Sandbox Code Playgroud)

有没有人遇到类似的错误并成功解决了它?谢谢

C-S*_*ark 19

有时码头工人会弄乱它的工作空间,这可能就是原因所在.你可以试试这些:

  • 停止所有(java)容器,删除它们,删除java图像(或所有图像),然后重新拉动并运行.
  • 如果这没有帮助,那么也重启docker引擎.
  • 如果即使这样也无法解决问题,请停止docker引擎,删除docker工作目录,然后重启docker引擎.

根据我的经验,这解决了所有类似的问题,如OP.

  • 谢谢@ C-Shark,我尝试了下面这次拉动工作: - 停止并删除所有容器/图像 - 停止并删除了docker机器(`docker-machine stop/rm default`) - 重新创建了docker机器(` docker-machine create --driver virtualbox default`) - `docker pull java:8` (2认同)
  • 在我的情况下,我尝试了以上所有,但最终唯一有用的是停止docker守护进程并删除/ var/lib/docker.重启后,docker守护程序将以新状态重新创建/ var/lib/docker. (2认同)