通过命令可以观察到/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

Logo

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

更多推荐