$ sudo docker pull jupyter/tensorflow-notebook Using default tag: latest latest: Pulling from jupyter/tensorflow-notebook 693502eb7dfb: Pull complete a3782c2efb41: Pull complete 9cb32b776a40: Pull complete e539f5722cd5: Pull complete b4690d4047c6: Pull complete 121dc465f5c6: Pull complete c352772bbcfd: Pull complete 0057b9e76c8a: Extracting 568 B/568 B e63bd87d75dd: Download complete 055904fbc069: Download complete d336770b8a83: Download complete d61dbef85c7d: Download complete 6c4990ff8475: Download complete e5968c6a2a7f: Download complete bedf924ebae8: Download complete b52514c7f277: Download complete 335ed19f8aeb: Download complete 0d61bb7891a3: Download complete 17c31ceff0f0: Download complete de094493e821: Download complete 4d60ed225ef8: Download complete 4e17fd01128d: Download complete c6a0f58de8b1: Download complete 7fea7b1d8bb9: Download complete failed to register layer: open /var/lib/docker/aufs/layers/3dd85cabcd0d7bc18c5ccee0e071e2a7f8956765e84498c580d9b180f1433bce: no such file or directory
となり失敗。何回繰り返しても同じ。
この出力だけ見ると最後の'failed to register layer'に目が行きますが、途中を見ていると'0057b9e76c8a: Extracting 568 B/568 B'の行がずっと止まったままなので、以降がダウンロード完了しても展開が始まらないように見える。だいたい568バイトって何よ、あり得ないとは言えないけど小さすぎ。
とりあえず以下の方法で回復しましたが、何分初心者なので正しい対処か分かりませんので、参考程度に。
- 裏でdocker pullが動いているなら止める。
- Extractingで止まっている0057b9e76c8aで検索。今回は1個だけ出てきましたが(sha256:の後にヒットしています)、複数出てきた場合は内容で判断(まぁレアケースでしょうけど)。
- 出てきたディレクトリを削除 or どこかに退避
- dockerデーモンを再起動
- 再度pull
$ sudo grep -r 0057b9e76c8a /var/lib/docker /var/lib/docker/image/aufs/distribution/v2metadata-by-diffid/sha256/cda29d030c7debb657eaf6a780dc926d7d1ea900f5e87e79b205bdff35f95ec7:[{"Digest":"sha256:0057b9e76c8a523a63a6418fdfc9580811083be2a505468a24eaf06348151f9b","SourceRepository":"docker.io/jupyter/tensorflow-notebook"}]
$ sudo rm -rf /var/lib/docker/image/aufs/distribution/v2metadata-by-diffid/sha256/cda29d030c7debb657eaf6a780dc926d7d1ea900f5e87e79b205bdff35f95ec7
$ sudo service docker restart
$ sudo docker pull jupyter/tensorflow-notebook
ちなみに/var/lib/docker/aufs/layers/3dd85cabcd0d7bc18c5ccee0e071e2a7f8956765e84498c580d9b180f1433bceはno such file or directoryとある通り本当に無いので、探すだけ無駄です。
[参考]
Comments