
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://img.shields.io/docker/pulls/yannmichaux/aptly?style=flat-square](https://hub.docker.com/r/yannmichaux/aptly) https://img.shields.io/github/v/release/yannmichaux/aptly-docker?style=flat-square](https://github.com/yannmichaux/aptly/releases)
这是一个功能完整、可用于生产环境的Docker镜像,基于Aptly搭建私有APT仓库,具备以下特性:
main、stable、testing).sources文件PUT上传.deb包docker exec手动更新组件该镜像采用**"每个组件对应一个Aptly仓库"**的简化策略。每个组件(如main、stable)拥有独立的Aptly仓库,支持隔离发布、独立更新和快照管理。仓库命名格式为:
<REPO_NAME>_<COMPONENT>
例如,若REPO_NAME=internal且REPO_COMPONENTS=stable,testing,将创建internal_stable和internal_testing两个仓库,提升清晰度并避免发布冲突。
yamlservices: aptly: container_name: aptly-server image: yannmichaux/aptly:latest ports: - "8080:80" environment: REPO_NAME: internal REPO_COMPONENTS: main,stable,testing REPO_DISTRIBUTION: noble REPO_ARCH: amd64 # 可选:定时自动更新(每15分钟) CRON_UPDATE_COMPONENTS: "*/15 * * * *" # 可选:Webhook通知 NOTIFY_WEBHOOK_URL: https://my-webhook-server/notify # 可选:邮件通知 NOTIFY_SENDMAIL: true SMTP_HOST: smtp.domain.com SMTP_PORT: 587 SMTP_USER: username SMTP_PASS: password SMTP_STARTTLS: no MAIL_FROM: aptly@domain.com MAIL_TO: you@domain.com MAIL_SUBJECT: "APT仓库更新通知" MAIL_ATTACHMENT: true SMTP_IGNORE_CERTS: true # 忽略自签名证书/证书错误 volumes: - aptly-data:/var/lib/aptly - /path/to/config:/config - /path/to/secrets:/secrets - /path/to/incoming:/incoming restart: unless-stopped volumes: aptly-data:
通过PUT直接上传.deb文件:
bashcurl -X PUT --data-binary "@my-package.deb" http://<host>:8080/incoming/<component>/my-package.deb
🔐 若
/config/htpasswd存在,上传路由将启用基础认证。
CRON_UPDATE_COMPONENTS定时执行/incoming/<component>下的.deb文件packages.jsonNOTIFY_SENDMAIL=true)bashdocker exec aptly-server update # 更新所有组件 docker exec aptly-server update stable # 更新指定组件 docker exec aptly-server update stable,testing # 更新多个组件
❗ 若组件不存在,更新将中止并显示有效组件列表。
启用更新后邮件通知:
yamlNOTIFY_SENDMAIL: true SMTP_HOST: smtp.domain.com SMTP_PORT: 587 SMTP_USER: username SMTP_PASS: password SMTP_STARTTLS: no MAIL_FROM: aptly@domain.com MAIL_TO: you@domain.com MAIL_SUBJECT: "APT仓库更新通知" MAIL_ATTACHMENT: true SMTP_IGNORE_CERTS: true
使用mutt实现SMTP认证发送邮件。
/secrets/private.asc存在,将导入该密钥http://<host>/gpg
镜像会在/config/examples/<REPO_NAME>.sources生成客户端配置文件,示例:
Types: deb URIs: http://your-domain/ Suites: noble Components: main stable Signed-By: /usr/share/keyrings/internal-archive-keyring.gpg
交互式运行容器:
bashdocker run --rm -it yannmichaux/aptly /bin/bash
容器内可用命令:
bash/docker-entrypoint.sh update # 更新所有组件 /docker-entrypoint.sh update <component> # 更新指定组件 /docker-entrypoint.sh update <component> --force # 强制更新指定组件 /docker-entrypoint.sh remove <component> [<package-query>] # 移除包 /docker-entrypoint.sh help # 查看帮助
容器外执行命令:
bashdocker exec -it container_name update docker exec -it container_name remove stable my-package
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务