通過命令可以觀察到/var/lib/docker目錄很大,我的主機只有20G,這個目錄佔了18G;原因是devicemapper的空間設的太大,通過docker info打印的Data Space Total參數可以看到,默認是107.4G。
思路如下:
備份當前容器、鏡像;
刪除/var/lib/docker目錄;
使用dd命令重設大小;
恢復容器、鏡像;
工具:
需要額外空間保存備份文件,可以掛載一個u盤或者雲盤。
docker save 可以導出鏡像 tar文件;
docker export 可以導出容器 tar文件;
備份好之後停止docker
# /etc/init.d/docker stop
刪除/var/lib/docker目錄;
# mkdir -p /var/lib/docker/devicemapper/devicemapper
# dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1M count=0 seek=8192
建立的文件最大爲 1M * 8192 = 8G
啓動docker
# /etc/init.d/docker start
使用docker info看看Data Space Total,檢查是否設置成功
docker load 可以導入鏡像tar文件爲 鏡像
注意load用法爲:docker load image1:new<image1.tar
docker import 可以導入容器tar文件爲 鏡像
注意import用法爲: cat container1.tar |docker import - container1:new