docker运行提示Error response from daemon: layer does not exist的解决方法
执行命令:docker run -it --rm provectuslabs/kafka-ui:v0.7.2 sh
提示:
docker: Error response from daemon: layer does not exist.
See 'docker run --help'.
查了半天没有找到解决方法,都是说什么删/var/lib/docker,或者docker prune清理数据,这些在正式的服务器上执行都好离谱。
最后通过从其他服务器下载镜像来导入到这个服务器,会提示文件已经存在,然后rm删除存在的layer,一一删除之后,就可以重新pull和run了。
另一台服务器下载:
docker save -o kafka-ui.tar provectuslabs/kafka-ui:v0.7.2
拷贝到当前服务器
scp -r root@192.168.1.2:/data1/applications/kafka-ui.tar .
执行命令导入:docker load -i kafka-ui.tar
这个时候就提示有存在的layer:
49f62469da76: Loading layer [==================================================>] 5.875MB/5.875MB
rename /var/lib/docker/image/overlay2/layerdb/tmp/write-set-3757598051 /var/lib/docker/image/overlay2/layerdb/sha256/49f62469da7651bcaf2d76af7a56680c2dd9b7cf177ead3e8a675b160500b68e: file exists
删除重新导入即可:
rm -rf /var/lib/docker/image/overlay2/layerdb/sha256/49f62469da7651bcaf2d76af7a56680c2dd9b7cf177ead3e8a675b160500b68e
docker load -i kafka-ui.tar
重复删除所有已经存在的路径,然后再删除这个镜像就可以重新从服务器拉就可以了(删不删都可以)。

浙公网安备 33010602011771号