我打算移动docker数据(图像和容器)分开驱动器,因为他们需要很多空间。
据我所知,我可以将/var/lib/docker分开驱动器并创build软链接。 但是我已经读过BTRFS是Docker的最佳文件系统选项。
但是我怀疑将外部驱动器格式化为BTRFS并将现有的文件夹移动到BTRFS是不够的。 正如我所看到的这个文件夹的内容取决于使用的文件系统。
如何正确移动(重新创build)具有不同文件系统的外置驱动器上的docker文件夹(图像和容器)?
正如你所说的,只是将Docker镜像/容器从默认的AUFS移动或复制到BTRFS格式化的驱动器将不起作用。 因此,作为第一步,您可以将所有容器提交为图像,并使用docker save命令将图像保存为.tar文件,然后在准备好docker使用btrfs后,运行docker load load将图像docker load到新存储驱动程序。
步骤大概如下 – 这就是我在我的Ubuntu 14.10盒 –
docker save IMAGEID > /tmp/redis.tar mkfs.btrfs / dev / sdb mkdir / var / lib / docker-btrfs mount / dev / sdb / var / lib / docker-btrfs /
服务docker停止 docker -d -s btrfs --graph =“/ var / lib / docker-btrfs”-H unix:///var/run/docker.sock
上面的步骤也可以通过修改/ etc / default / docker来完成。
docker加载 - input/tmp/redis.tar
您应该能够看到图像并从这里运行容器。 对于容器,你也可以尝试export和import方法,但我从来没有尝试过那个。