在容器化场景下默认存储路径为(/var/lib/docker)大多数平台根目录不支持系统盘扩容,会有空间不足风险隐患,因未配置持久化存储导致容器数据丢失。以迁移Docker存储路径至大容量/data目录说明

停止容器

1
systemctl stop docker docker.socket   

数据迁移

1
2
mkdir -p /data/docker  
cp -a /var/lib/docker/* /data/docker/
  • 数据量较大可使用:rsync -avzHP /var/lib/docker/ /data/docker/ # 推荐增量同步避免中断

修改Docker配置

1
2
3
4
5
6
vim /etc/docker/daemon.json   # 新增或修改以下内容  


{
"data-root": "/data/docker"
}
  • Docker 17.05+版本支持此配置,旧版本需修改docker.service 中的–graph参数

重启服务并验证

1
2
3
4
5
6
systemctl daemon-reload 
systemctl start docker

#输出结果为 /data
docker info | grep "Docker Root Dir"
Docker Root Dir: /data/docker