这个教程是通用教程,理论使用各种Linux系统,需要自行查询本地情况,适配修改命令参数
需要本地化,请勿照搬
需要本地化,请勿照搬
需要本地化,请勿照搬
准备
- USB存储32G以内的,在Windows使用DiskGenius.exe格式为ext4或者fat32,使用gpt分区表,大容量128G或者硬盘盒的,划分双分区,分区前部划分20G格式化为etx4或者fat32,其他格式化为NTFS分区
- 分析当前根目录各个目录的占用情况,记录需要处理的目录。使用命令
du -lh -d 1 /
查看根目录各文件夹占用,找占用大的几个目录逐级分析下去。
- 查看当前系统的path目录,命令
echo $PATH
将结果中这些目录排除。
命令环境
- USB存储中用于分担存储压力的目标分区挂载点为
/media/sdb2
,使用命令lsblk
查看U盘挂载点
- 需要迁移的目录为docker数据目录
/var/lib/docker
和web服务目录/var/www/html
操作步骤
操作目录、文件系统方式
- 创建目录
mkdir /media/sdb2/backup
mkdir /media/sdb2/Date
- 停止docker等相关服务
systemctl stop docker
..........
- 迁移数据并备份
rsync -avzP /var/lib/docker /media/sdb2/Date/
rsync -avzP /var/www/html /media/sdb2/Date/
mv /var/lib/docker /media/sdb2/backup/
mv /var/www/html /media/sdb2/backup/
3.1 创建软连接方式映射目录
ln -s /media/sdb2/Date/docker /var/lib/
ln -s /media/sdb2/Date/html /var/www/
3.2 挂载目录方式
mkdir /var/lib/docker
mkdir /var/www/html
mount --bind /media/sdb2/Date/docker /var/lib/docker
mount --bind /media/sdb2/Date/html /var/www/html
mount -a
- 重启docker等相关服务
systemctl start docker
..........
更改软件配置方式(docker为例)
- 修改配置默认路径
在 EXECStart 后面添加--graph=/media/sdb2/Date/docker
vim /usr/lib/systemd/system/docker.service
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock这一行后边添加下边内容,空格隔开。
--graph=/media/sdb2/Date/docker
重启 docker
systemctl daemon-reload
systemctl start docker
查看 docker 数据存储目录
docker info | grep "Docker Root Dir"
# 输出结果
Docker Root Dir: /media/sdb2/Date/docker