Docker 默认使用loop设备存储镜像。使用/var/lib/docker存储。但是当根分区不够大的时候(Centos7默认安装只有50G),那就麻烦了。

这里提供下修改方法(以centos7操作系统为例):


1.  systemctl stop docker

2.  mount   /dev/sdb1  /tmp

3.  cp -arf /var/lib/docker/*  /tmp

4.  rm -rf  /var/lib/docker

5.  umount /tmp;   mount /dev/sdb1  /var/lib/docker

6.  systemctl start docker


如果执行第六步骤的时候报错:

Nov 03 15:35:47 master-57 dockerd[11586]: time="2016-11-03T15:35:47.950627346+08:00" level=error msg="[graphdriver] prior storage driver \"devicemapper\" failed: devmapper: Base Device UUID and Filesystem verification failed: devmapper:Current Base Device UUID:15b94e74-7712-44bc-b695-9c2c633b8b3a does not match with stored UUID:cba4570c-421a-4612-8030-e7734d6365c7. Possibly using a different thin pool than last invocation"
Nov 03 15:35:47 master-57 dockerd[11586]: time="2016-11-03T15:35:47.950782770+08:00" level=fatal msg="Error starting daemon: error initializing graphdriver: devmapper: Base Device UUID and Filesystem verification failed: devmapper: Current Base Device UUID:15b94e74-7712-44bc-b695-9c2c633b8b3a does not match with stored UUID:cba4570c-421a-4612-8030-e7734d6365c7. Possibly using a different thin pool than last invocation"


那么按照下列方法修改:

stored UUID 存储在 /var/lib/docker/devicemapper/metadata/deviceset-metadata 里面。 替换成Current Base Device UUID即可。



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐