
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
compose-unpacker 是 Portainer 提供的专用工具镜像,用于从 Git 仓库获取 Docker Compose 堆栈配置,并自动部署到远程环境。该工具旨在简化基于 Git 版本控制的 Compose 堆栈部署流程,实现配置即代码(Configuration as Code)理念,支持远程环境(如 Docker Engine、Kubernetes 集群等)的自动化部署与更新。
docker-compose.yml)。1. 基础 docker run 命令
bashdocker run -d \ --name compose-unpacker \ -e PORTAINER_URL="https://portainer.example.com" \ -e PORTAINER_TOKEN="pt_xxxxxx" \ -e GIT_REPO_URL="https://github.com/example/compose-stacks.git" \ -e GIT_BRANCH="main" \ -e REMOTE_ENV_ID="1" \ -e COMPOSE_FILE_PATH="stacks/prod/docker-compose.yml" \ -v /path/to/ssh-key:/root/.ssh/id_rsa:ro \ # 若使用 SSH 认证 portainer/compose-unpacker:latest
2. Docker Compose 配置示例
yamlversion: '3.8' services: compose-unpacker: image: portainer/compose-unpacker:latest container_name: compose-unpacker environment: # Portainer 连接配置 PORTAINER_URL: "https://portainer.example.com" # Portainer 实例 URL(必填) PORTAINER_TOKEN: "pt_xxxxxx" # Portainer 访问令牌(必填,需具备环境管理权限) # Git 仓库配置 GIT_REPO_URL: "git@github.com:example/compose-stacks.git" # Git 仓库 URL(必填,支持 HTTP/SSH) GIT_BRANCH: "main" # 分支/标签/提交哈希(可选,默认 main) GIT_SSH_KEY_PATH: "/root/.ssh/id_rsa" # SSH 密钥路径(可选,用于 SSH 认证) GIT_USERNAME: "git-user" # HTTP 用户名(可选,用于 HTTP 认证) GIT_PASSWORD: "git-pass" # HTTP 密码/令牌(可选,用于 HTTP 认证) # 部署目标配置 REMOTE_ENV_ID: "1" # Portainer 远程环境 ID(必填,在 Portainer 环境列表中查看) COMPOSE_FILE_PATH: "docker-compose.yml" # 仓库内 Compose 文件路径(可选,默认根目录 docker-compose.yml) # 部署策略配置 DEPLOY_STRATEGY: "replace" # 部署策略(可选:replace/merge,默认 replace) KEEP_VOLUMES: "true" # 是否保留数据卷(可选:true/false,默认 true) SKIP_TLS_VERIFY: "false" # 是否跳过 Portainer TLS 验证(可选:true/false,默认 false) volumes: - /local/path/to/ssh-key:/root/.ssh/id_rsa:ro # 挂载 SSH 密钥(若使用 SSH 认证) restart: unless-stopped
环境变量(必填项)
| 变量名 | 描述 | 示例值 |
|---|---|---|
PORTAINER_URL | Portainer 实例访问 URL | https://portainer.example.com:9443 |
PORTAINER_TOKEN | Portainer 访问令牌(需环境管理权限) | pt_1234567890abcdef |
GIT_REPO_URL | Git 仓库完整 URL(HTTP/SSH 协议) | https://github.com/example/stacks.git |
REMOTE_ENV_ID | Portainer 远程环境 ID(数字) | 1(在 Portainer 环境列表中查看 ID 列) |
环境变量(可选项)
| 变量名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
GIT_BRANCH | Git 分支、标签或提交哈希 | main | 如 dev、v1.0.0、a1b2c3d |
GIT_SSH_KEY_PATH | 容器内 SSH 密钥文件路径 | - | 如 /root/.ssh/id_rsa |
GIT_USERNAME | HTTP 认证用户名 | - | Git 服务用户名 |
GIT_PASSWORD | HTTP 认证密码/令牌 | - | Git 服务密码或 Personal Token |
COMPOSE_FILE_PATH | 仓库内 Compose 文件相对路径 | docker-compose.yml | 如 stacks/prod/compose.yml |
DEPLOY_STRATEGY | 部署策略:替换或合并现有堆栈 | replace | replace(全量替换)、merge(增量更新) |
KEEP_VOLUMES | 部署时是否保留现有数据卷 | true | true、false |
SKIP_TLS_VERIFY | 是否跳过 Portainer 服务端 TLS 验证 | false | true、false |
LOG_LEVEL | 日志级别 | info | debug、info、warn、error |
GIT_REPO_URL 及认证信息克隆仓库,切换至 GIT_BRANCH 指定版本。COMPOSE_FILE_PATH 路径的文件,处理环境变量替换(若文件中包含 ${VAR} 格式变量)。PORTAINER_URL 和 PORTAINER_TOKEN 认证 Portainer 实例。REMOTE_ENV_ID 定位目标环境,按 DEPLOY_STRATEGY 执行堆栈部署/更新。PORTAINER_TOKEN 需关联具备“环境管理”和“堆栈管理”权限的用户。GIT_SSH_KEY_PATH)优先于 HTTP 认证(GIT_USERNAME/GIT_PASSWORD)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务