在《就是折腾 篇四:玩客云使用docker安装heimdall导航》中,我把一张存储卡插入了玩客云,用来存储配置文件。
当时因为镜像少,没有把docker默认存储目录改到存储卡上。考虑到玩客云还没把资源吃满,还有更大的压榨空间,这篇内容就是介绍如何将当前运行的docker容器无损迁移到存储卡上!
一、查看当前存储目录
1、可以看到默认/var/lib/docker还剩4g空间,存储卡/data挂载目录还有27G。其实我一直想装个hass在玩客云上。(4g空间虽然足够运行hass,但是hass的日志好像挺大的,以前N1装过,没有多久空间就满了)。
2、运行docker system df 命令查看当前一共运行4个容器,大小1G多点
3、docker system prune命令可以用于清理无效的镜像文件,慎用。
二、迁移
4、停止容器运行
systemctl stop docker
5、创建docker新的存储目录
mkdir -p /data/docker/lib/docker
6、把默认的/ar/李白/docker目录复制到新目录,rsync和cp命令都可以。我这里使用rsync,你也可以用cp -rf命令。
rsync -r -avz /var/lib/docker /data/lib/docker
需要注意我的截图里复制目的路径是/data/lib一个效果
复制完成会有提示
7、修改docker存储配置文件,在“ExecStart”行尾加上参数“--graph=/data/lib/docker”
vim /usr/lib/systemd/system/docker.service
8、重新载入配置文件并启动docker服务
systemctl daemon-reload
systemctl start docker
三、查看修改是否成功,可以发现已经修改成功
docker info
4个容器状态正常