1. 停止docker 服务
systemctl stop docker
  1. 创建docker 新目录
mkdir -p /home/docker/lib
  1. 迁移文件
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
  1. 重启docker
systemctl daemon-reload
systemctl restart docker
  1. 确认没有问题后可以删除旧文件
  2. 确认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
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐