如何使用设备映射器将Docker容器移动到另一台机器上,而无需使用docker命令

这是情况

重启后,由于磁盘空间不足,docker无法重启。 由于很多糟糕的决定,我们现在只剩下一份/var/lib/docker (所以我们无法运行docker ,我们想移动到运行相同OS /docker版本( 1.8.3

当我们试图用旧的replace/var/lib/docker ,我们得到了

 Feb 20 08:06:33 example.com systemd[1]: Starting Docker Application Container Engine... Feb 20 08:06:33 example.com docker[2164]: time="2016-02-20T08:06:33.111285635+01:00" level=error msg="[graphdriver] prior storage driver \"devicemapper\" failed: Base Device UUID verification failed. Possibly using a different thin pool then last invocation:exit status 2" Feb 20 08:06:33 example.com docker[2164]: time="2016-02-20T08:06:33.111382676+01:00" level=fatal msg="Error starting daemon: error initializing graphdriver: Base Device UUID verification failed. Possibly using a different thin pool then last invocation:exit status 2" Feb 20 08:06:33 example.com systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE 

我一直在Docker https://github.com/docker/docker/issues/15721上阅读这个问题,但它似乎没有帮助。

有一个已知的程序来移动的东西吗? 或者至less要挂载磁盘映像来获取数据?

解决方法是 – rm -rf / var / lib / docker&restart docker(有时需要主机重启)

https://github.com/docker/docker/issues/23089

您可以更改docker在/ var / lib / docker / devicemapper / metadata / deviceset-metadata中查找的UUID

这个文件包含在我的系统上:

 { "BaseDeviceFilesystem": "xfs", "BaseDeviceUUID": "4c799443-bf3d-4b95-a9df-dd86de235057", "next_device_id": 1 } 

您应该尝试用UUID泊坞窗正在查找replace4c799443-bf3d-4b95-a9df-dd86de235057。