本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

用于备份和恢复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日志文档和此问题。
警告: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]。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429