
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Mongo Backup是一个MongoDB备份应用,可使用任何mongotool命令。默认每天执行一次备份并存储为.tar.gz文件,支持通过命令恢复备份。该应用设计用于与MongoDB通过Docker Compose捆绑部署,简化MongoDB数据的备份与恢复流程。
通过.env文件设置以下环境变量:
# 备份的应用名称 APP_NAME="host_app" # 时区设置 TIME_ZONE="Europe/Stockholm" # MongoDB连接配置 # mongo - 用于连接Docker网络中名为mongo的容器 # host.docker.internal - 用于连接主机上的MongoDB MONGO_IP='mongo' MONGO_PORT=27017 MONGO_DB_NAME='database' # 若未指定,将备份和恢复整个数据库 # MongoDB认证信息 MONGO_USERNAME='' MONGO_PASSWORD='' # 备份存储配置 BACKUP_FOLDER='./backups/' # cron格式 - 分 时 日 月 年(默认每天凌晨3点) BACKUP_TIME='0 3 * * *' # 是否在启动时执行备份(true或false) BACKUP_AT_STARTUP="true" # 备份文件保留天数(0表示不删除) BACKUP_REMOVE_AFTER_DAYS=60
以下是使用Docker Compose部署的示例配置:
yamlversion: '3.4' services: # 其他服务(如你的应用和MongoDB) # my-app: # mongo: mongo-backup: image: docker.xuanyuan.run/carpet200/mongo-backup:latest restart: unless-stopped volumes: - '${BACKUP_FOLDER}${APP_NAME}:/app/backups' # 如需访问主机上的MongoDB(不需要时可注释) extra_hosts: - 'host.docker.internal:host-gateway' environment: APP_NAME: ${APP_NAME} TZ: ${TIME_ZONE} MONGO_IP: ${MONGO_IP} MONGO_PORT: ${MONGO_PORT} MONGO_USERNAME: ${MONGO_USERNAME} MONGO_PASSWORD: ${MONGO_PASSWORD} MONGO_DB_NAME: ${MONGO_DB_NAME} BACKUP_TIME: ${BACKUP_TIME} BACKUP_AT_STARTUP: ${BACKUP_AT_STARTUP} BACKUP_REMOVE_AFTER_DAYS: ${BACKUP_REMOVE_AFTER_DAYS}
通过容器执行命令,无需重复指定数据库密码和IP等信息。使用以下格式运行命令:
bashdocker exec {容器名称} node {命令} [参数]
提示:在任何命令后添加
-help可获取该命令的详细帮助
backup(创建备份)
创建.tar.gz格式的备份文件到备份文件夹:
bashdocker exec mongo-backup-1 node backup
restore(恢复备份)
从备份文件夹中的指定.tar.gz文件恢复数据库。使用--drop参数可清空现有数据后恢复,否则将合并数据:
bash# 基本用法 docker exec mongo-backup-1 node restore {完整文件名} [可选的mongorestore参数] # 示例:恢复并清空现有数据 docker exec mongo-backup-1 node restore MyApp_Backup.tar.gz --drop
cmd(执行mongotool命令)
使用任意mongotool命令,无需手动指定数据库认证信息:
bash# 基本用法 docker exec mongo-backup-1 node cmd {mongotool工具} [工具参数] # 示例1:查看mongorestore帮助 docker exec mongo-backup-1 node cmd mongorestore --help # 示例2:从.bson文件文件夹恢复 docker exec mongo-backup-1 node cmd mongorestore ./bson-backup-2 --drop
若不使用本应用,可通过以下命令手动备份和恢复MongoDB(需安装https://www.mongodb.com/try/download/database-tools%EF%BC%89%EF%BC%9A
bash# 创建备份 mongodump -u "user" -p "password" mongodb://localhost:27017/mydb?authSource=admin --gzip --archive=dump.tar.gz # 恢复备份 mongorestore -u "user" -p "password" mongodb://localhost:27017/mydb?authSource=admin --gzip --archive=dump.tar.gz
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务