- 停止docker 服务
systemctl stop docker
- 创建docker 新目录
mkdir -p /home/docker/lib
- 迁移文件
rsync -avzP /var/lib/docker /home/docker/lib/
4.修改文件
vi /lib/systemd/system/docker.service
在ExecStart 后面增加 --data-root= (如果是旧的版本,是--grahp=)
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/home/docker/lib/docker
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always
- 重启docker
systemctl daemon-reload
systemctl restart docker
- 确认没有问题后可以删除旧文件
- 确认docker没有问题,删除原目录
rm -rf /var/lib/docker
1、停止docker服务
systemctl stop docker
2、创建新的docker目录
mkdir -p /home/sdb/data/docker
3、迁移/var/lib/docker
rsync -avz /var/lib/docker /home/sdb/data/docker/
4、修改配置路径
修改默认配置文件/etc/docker/daemon.json
增加映射 "graph":"/home/sdb/data/docker"
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"graph":"/home/sdb/data/docker"
}
5、重新加载 docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
6、删除 /var/lib/docker
rm -rf /var/lib/docker
7、查看修改结果
docker info |grep Dir