如何将aufs目录中docker的图像移动到overlay2?

时间:2017-06-25 10:11:00

标签: linux docker

我将Debian的内核从3.x更新到4.x.
Docker存储变为overlay2。

ls /var/lib/docker/ 
containers  image  network  overlay2  plugins  swarm  tmp  trust  volumes

旧目录结构

aufs  containers  graph  image  init  linkgraph.db  network  plugins  repositories-aufs  swarm  tmp  tmp-old  trust  volumes

我的图片在aufs目录下,我无法启动旧目录的docker服务。如何将图像移动到overlay2?

2 个答案:

答案 0 :(得分:0)

您实际上可以设置要使用的存储驱动程序。升级可能会将默认文件或配置更改为overlay2。您可以将其更改回aufs。有关此文档的文档位于https://docs.docker.com/engine/userguide/storagedriver/selectadriver/#check-and-set-your-current-storage-driver

此外,根据您运行的Docker版本,该设置可能位于/etc/default/docker而不是/etc/docker/daemon.json

答案 1 :(得分:0)

  1. 标识从aufs迁移到overlayfs2后要保存和还原的图像。

  2. 将所有要迁移到overlayfs的图像导出到一个存档中-这是更快,更有效的

sudo docker save -o /data/save.tar $ IMAGES -o /data/saved.images.tar

此处IMAGES是包含图像名称的变量

  1. 使用以下内容创建/etc/docker/daemon.json:

{   “存储驱动程序”:“ overlay2” }

[请参考Add new element to existing JSON array with jq以使用jq进行更新]

  1. 备份存储docker映像的目录并删除目录

mv / var / lib / docker /var/lib/docker.aufs.images

  1. systemctl守护程序重新加载

  2. systemctl重新启动docker

  3. docker load