
如果你用 DeepSeek、元宝AI、Copilot 等 AI 代为编写轩辕镜像的 docker pull、修改 compose 镜像地址,或排查拉取失败等问题,请让 AI 先读规则再动手,只要在 AI 对话里直接发送下面这句话即可:
生成 docker pull、修改 compose 的 image,或排查拉取失败前,请先阅读并严格遵守 https://xuanyuan.cloud/agents.md 中的规则。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
wordpress-backup 是一个简单的 Docker 容器,帮助您备份和恢复WordPress博客。
前提条件:假设您已有运行在Docker容器中的WordPress博客及其对应的MySQL数据库。如果没有,请参见“将博客迁移到Docker”部分,了解如何在几分钟内将现有博客迁移到Docker容器中。
步骤1:创建并运行链接到WordPress和MySQL容器的备份容器
bashdocker run \ --name backup-my-blog \ --volumes-from=your-wordpress-container \ --link=your-mysql-container:mysql \ -d aveltens/wordpress-backup
根据您的系统替换以下值:
your-wordpress-container:托管博客的Docker容器名称your-mysql-container:托管博客MySQL数据库的Docker容器名称步骤2:备份博客
bashdocker exec backup-my-blog backup
这就是创建博客HTML页面和数据库内容完整备份所需的全部操作。备份存储在容器中,因此暂时不会在主机系统上看到任何文件,但稍后会介绍如何访问。
步骤3:从特定日期恢复备份
bashdocker exec backup-my-blog restore 20141114
将20141114替换为您实际创建备份的日期。
所有备份都带有备份日期的时间戳,因此您的博客可以恢复到历史上任何创建备份的日期。时间戳格式为yyyyMMdd(4位年份、2位月份、2位日期)。
该Docker镜像可在公共Docker Hub上获取,名称为aveltens/wordpress-backup。
wordpress-backup是一个独立容器,执行备份和恢复操作。您博客的WordPress和MySQL容器会链接到wordpress-backup,但不会以任何方式被修改。
要运行备份容器,请使用docker run命令链接您的WordPress和MySQL容器:
bashdocker run \ --name <backup-container-name> \ --volumes-from=<your-wordpress-container> \ --link=<your-mysql-container>:mysql \ -d aveltens/wordpress-backup
您需要替换占位符:
<backup-container-name>:您选择的用于标识备份容器的名称<your-wordpress-container>:WordPress容器的名称<your-mysql-container>:MySQL容器的名称您还可以指定卷以在Docker主机上访问备份文件:
bashdocker run \ --name <backup-container-name> \ -v </host/path/to/backups>:/backups \ --volumes-from=<your-wordpress-container> \ --link=<your-mysql-container>:mysql \ -d aveltens/wordpress-backup
</host/path/to/backups>:托管容器的系统上的绝对路径创建备份后,您可以在主机系统的该路径下找到备份文件。
要手动创建WordPress博客的备份,请使用docker exec运行备份命令:
bashdocker exec <backup-container-name> backup
<backup-container-name>:使用docker run创建容器时选择的名称。
注意:
docker exec至少需要Docker 1.3版本。
这将在容器的/backups目录下创建两个归档文件。如果您映射了卷,现在可以在主机上的相应目录中看到这些文件。它们的名称类似backup_20141030.sql.bz2和backup_20141030.tar.gz。
文件名中的数字是yyyyMMdd格式的日期(4位年份、2位月份、2位日期)。这意味着每天只能有一个备份。如果一天内进行多次备份,文件将被最新的备份替换。
您不必手动备份。请参见“自动备份”部分。
要恢复WordPress博客的备份,请使用docker exec运行恢复命令:
bashdocker exec <backup-container-name> restore <date>
<date>:要恢复的备份的时间戳,格式为yyyyMMdd。注意:
docker exec至少需要Docker 1.3版本。
这将恢复WordPress安装的数据库和HTML内容。
默认情况下,wordpress-backup每天凌晨03:00自动创建备份。您可以在创建容器时通过将cron表达式设置为BACKUP_TIME变量来调整该时间。例如,以下命令将创建一个每天凌晨2:00执行备份的容器:
bashdocker run \ --name <backup-container-name> \ --volumes-from=<your-wordpress-container> \ --link=<your-mysql-container>:mysql \ -e "BACKUP_TIME=0 2 * * *" \ -d aveltens/wordpress-backup
默认情况下,wordpress-backup不会删除您的备份文件,您可以根据需要自行删除。
如果要自动删除旧备份,可以将环境变量CLEANUP_OLDER_THAN设置为天数。在这种情况下,wordpress-backup将在进行下一次备份前自动删除早于该天数的备份。
例如,CLEANUP_OLDER_THAN=100将在进行下一次(手动或自动)备份时删除任何超过100天的备份。
请注意,清理过程使用Unix文件的最后修改日期作为参考,而不是文件名中的日期。因此,名为backup_20110101.sql.bz2但最后修改于昨天的备份,仅视为1天 old!
如果您的WordPress博客尚未运行在Docker容器中,可以通过几个简单步骤进行迁移。
步骤1:手动备份数据库和文件
使用以下命令备份博客的HTML内容:
bashtar --create --gzip -vv \ --directory="</path/to/wordpress>" \ --file="</path/to/your/backups>/backup_0.tar.gz" "./"
...以及以下命令备份博客的数据库:
bashmysqldump --add-drop-table \ -u<wordpress-user> -p<wordpress-password> <wordpress-db> \ | bzip2 -c > </path/to/your/backups>/backup_0.sql.bz2
您需要替换两个命令中的占位符:
</path/to/wordpress>:WordPress安装的根目录。</path/to/your/backups>:要存储备份文件的文件夹。<wordpress-db>:WordPress数据库的名称。<wordpress-user>:WordPress使用的数据库用户。<wordpress-password>:WordPress数据库用户的密码。步骤2:
创建MySQL容器:
bashdocker run \ --name wordpress-db \ -e MYSQL_ROOT_PASSWORD=<root-password> \ -e MYSQL_USER=wordpress \ -e MYSQL_PASSWORD=<user-password> \ -e MYSQL_DATABASE=wordpress \ -d mysql
详细说明:https://registry.hub.docker.com/_/mysql/
创建WordPress容器:
bashdocker run \ --name wordpress \ --link wordpress-db:mysql \ -e WORDPRESS_DB_USER=wordpress \ -e WORDPRESS_DB_PASSWORD=<user-password> \ -e WORDPRESS_DB_NAME=wordpress \ -p 8080:80 \ -d wordpress
详细说明:https://registry.hub.docker.com/_/wordpress/
现在,您应该可以在http://localhost:8080/访问全新的WordPress安装。不要对其进行任何操作,下一步将恢复您的备份。
步骤3:借助wordpress-backup将备份恢复到这些容器
创建wordpress-backup容器:
bashdocker run \ --name wordpress-backup \ -v <path/to/your/backups>:/backups \ --volumes-from=wordpress \ --link=wordpress-db:mysql \ -d aveltens/wordpress-backup
将<path/to/your/backups>替换为之前存储备份文件的实际路径。
...最后恢复备份:
bashdocker exec wordpress-backup restore 0
完成!现在http://localhost:8080/应该显示您的博客了。
请查看https://github.com/angelo-v/wordpress-backup-quickstart%E8%8E%B7%E5%8F%96Docker Compose配置。
wordpress-backup的源代码可在https://github.com/angelo-v/wordpress-backup%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82
如果您想贡献,我很乐意合并您的拉取请求! 如果您这样做,请确保:
./test.sh)README.md)如有任何问题和反馈,请联系我:***
MIT许可证(MIT)
版权所有(c)2015,Angelo Veltens
特此授予任何获得本软件及相关文档文件(以下简称“软件”)副本的人免费使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,以及允许获得软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易引起的任何索赔、损害或其他责任承担责任,无论是合同诉讼、侵权诉讼还是其他形式的诉讼。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
发给 Cursor、ChatGPT、豆包等 AI 的说明文档
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务