场景说明
Docker安装的默认数据目录为/var/lib/docker
,但是如果/
目录挂载的磁盘空间不够,就需要迁移docker数据到其他目录。
查找大空间磁盘目录
shell
# 首先查看一下各目录磁盘空间大小,便于设置docker数据目录路径
[root@two harbor-2.9.1]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 19G 0 19G 0% /dev
tmpfs 19G 0 19G 0% /dev/shm
tmpfs 19G 33M 19G 1% /run
tmpfs 19G 0 19G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 12G 39G 23% /
/dev/sda1 1014M 196M 819M 20% /boot
/dev/mapper/centos-home 2.6T 2.7G 2.6T 1% /home
tmpfs 3.8G 0 3.8G 0% /run/user/1000
这里
/home
目录最大,我们选择将docker数据存储目录设置到/home下
停止docker服务
shell
systemctl stop docker.socket
systemctl stop docker.service
创建docker新数据存储目录
shell
mkdir -p /home/docker/data
安装rsync工具
yum install rsync -y
迁移docker历史数据
javascript
rsync -avzP /var/lib/docker /home/docker/data
修改docker配置文件
shell
# 配置 docker 镜像代理及数据存储目录
[root@two docker24.0.4-offline-install]# mkdir -p /etc/docker
[root@two docker24.0.4-offline-install]# vim /etc/docker/daemon.json
{
......
"data-root": "/home/docker/data",
......
}
data-root
启动报错的话,使用老版本参数graph
代替
启动docker服务
shell
systemctl daemon-reload
systemctl start docker
aemon-reload systemctl restart docker
确定Docker服务正确,删除原数据目录
docker ps -a
rm -rf /var/lib/docker