
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
用于备份和恢复Docker卷的工具。更多信息请阅读我的Medium文章。
注意:备份或恢复前请确保没有容器使用该卷,否则可能导致数据损坏。详见其他说明。
注意:使用docker-compose时,请确保备份和恢复卷标签。详见其他说明。
此方法无需挂载第二个备份卷,可将输出重定向到文件、网络等。
语法:
docker run -v [volume-name]:/volume --rm --log-driver none loomchild/volume-backup backup - > [archive-name]
例如:
docker run -v some_volume:/volume --rm --log-driver none loomchild/volume-backup backup - > some_archive.tar.bz2
将名为some_volume的卷归档到some_archive.tar.bz2归档文件。
注意:--log-driver none选项是必要的,以避免将整个备份存储在临时stdout JSON文件中。更多信息参见Docker日志文档和https://github.com/loomchild/volume-backup/issues/39%E3%80%82
警告:Windows下的PowerShell不应使用此方法,否则将生成不可用的备份。
语法:
docker run -v [volume-name]:/volume -v [output-dir]:/backup --rm loomchild/volume-backup backup [archive-name]
例如:
docker run -v some_volume:/volume -v /tmp:/backup --rm loomchild/volume-backup backup some_archive
将名为some_volume的卷归档到/tmp/some_archive.tar.bz2归档文件。
如果目标卷非空,恢复将失败(使用-f标志覆盖)。
此方法无需挂载第二个备份卷。
注意:不要忘记用于交互操作的-i开关。
语法:
cat [archive-name] | docker run -i -v [volume-name]:/volume --rm loomchild/volume-backup restore -
例如:
cat some_archive.tar.bz2 | docker run -i -v some_volume:/volume --rm loomchild/volume-backup restore -
将清理并从some_archive.tar.bz2归档文件恢复名为some_volume的卷。
语法:
docker run -v [volume-name]:/volume -v [output-dir]:/backup --rm loomchild/volume-backup restore [archive-name]
例如:
docker run -v some_volume:/volume -v /tmp:/backup --rm loomchild/volume-backup restore some_archive
将清理并从/tmp/some_archive.tar.bz2归档文件恢复名为some_volume的卷。
使用标准输出的一个很好的例子是直接将卷迁移到新主机。
语法:
docker run -v [volume-name]:/volume --rm --log-driver none loomchild/volume-backup backup - |\ ssh [接收方] docker run -i -v [volume-name]:/volume --rm loomchild/volume-backup restore -
注意:如果主机之间没有流量限制,可以通过关闭压缩来节省CPU时间,如下例所示:
例如:
docker run -v some_volume:/volume --rm --log-driver none loomchild/volume-backup backup -c none - |\ ssh *** docker run -i -v some_volume:/volume --rm loomchild/volume-backup restore -c none -
升级/更新volume-backup
docker pull loomchild/volume-backup
查找所有使用卷的容器(备份前需停止它们)
docker ps -a --filter volume=[volume-name]
排除某些文件并将归档发送到标准输出
docker run -v [volume-name]:/volume --rm --log-driver none loomchild/volume-backup backup -e [排除的通配符] - > [archive-name]
使用不同的压缩算法以获得更好的性能
docker run -v [volume-name]:/volume --rm --log-driver none loomchild/volume-backup backup -c gz - > [archive-name]
使用详细-v标志显示简单进度指示(备份和恢复均适用)
docker run -v [volume-name]:/volume --rm --log-driver none loomchild/volume-backup backup -v - > [archive-name]
使用-x选项传递额外参数给Tar工具
docker run -v [volume-name]:/volume --rm --log-driver none loomchild/volume-backup backup -x --verbose - > [archive-name]
卷标签不会自动备份或恢复,但可能是应用正常工作所必需的(例如使用docker-compose时)。如果需要保留标签,可按如下方式创建标签备份文件:docker inspect [volume-name] -f "{{json .Labels}}" > labels.json。恢复数据时,需要在运行恢复脚本前手动创建带有标签的目标卷:docker volume create --label "label1" --label "label2" [volume-name]。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务