docker无内置卷备份恢复命令,需用docker run结合tar实现:备份用--volumes-from挂载源卷并tar打包,恢复用同法解压到目标卷;关键点包括源容器须运行、路径须一致、推荐alpine镜像。

直接用 docker help 查不到卷备份与恢复的专用子命令,因为 Docker 本身没有内置的 docker volume backup 或类似指令——这类操作是通过组合通用命令(docker run、tar)配合数据卷挂载机制完成的。
查文档最有效的方式
不是靠 docker --help,而是分三步定位:
- 先运行
docker volume --help:确认它只支持create、ls、inspect、rm,不包含备份/恢复 - 再运行
docker run --help | grep volumes:快速找到关键参数--volumes-from和-v的说明 - 最后查官方文档:访问 Docker 官方 Volume 备份指南,这是最权威的操作流程
常用命令组合的速记法
备份和恢复本质是“借容器跑 tar”,记住两个模板即可:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
-
备份:用
--volumes-from共享源卷,挂载宿主机目录,执行tar -cfdocker run --rm -v $(pwd):/backup --volumes-from alpine tar -cf /backup/vol-backup.tar /data -
恢复:用
--volumes-from挂载目标空卷容器,解压到对应路径docker run --rm -v $(pwd):/backup --volumes-from alpine tar -xf /backup/vol-backup.tar -C /
避免踩坑的关键点
实际执行时容易出错的地方:
- 源容器必须正在运行(或至少创建过),否则
--volumes-from找不到卷挂载点 - 备份命令里的路径(如
/data)必须和源容器中挂载卷的实际路径一致 - 恢复前要确保目标容器已创建且挂载了同名路径,但不需要启动;如果目标卷不存在,Docker 会自动创建空卷
- 推荐用
alpine或busybox镜像,体积小、启动快、自带tar,不用额外安装
快速验证是否成功
执行完备份或恢复后,立刻检查:
- 备份文件是否存在且非空:
ls -lh vol-backup.tar - 进入源/目标容器,看文件是否在预期路径:
docker exec ls -l /data - 对比文件数量或内容哈希:
docker exec find /data -type f | wc -l










