
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Woodpecker CI Kaniko插件是一个集成Google Kaniko工具的Woodpecker CI插件,专为在CI/CD流水线中构建Docker镜像而设计。该插件无需依赖Docker守护进程(daemon),通过直接访问容器镜像层来构建镜像,适用于无Docker守护进程的受限环境(如Kubernetes集群、安全隔离环境),可无缝集成到Woodpecker CI的自动化流程中,实现镜像构建、推送的全自动化。
作为Woodpecker CI流水线的关键步骤,在代码提交、合并或定时触发时自动构建Docker镜像,实现"代码提交→测试→构建镜像→推送仓库"的全流程自动化。
在无Docker守护进程的环境(如Kubernetes Pod、容器化CI节点)中构建镜像,解决传统Docker-in-Docker(DinD)方案的权限和性能问题。
适用于对安全要求较高的环境,通过避免暴露Docker守护进程权限(无需--privileged模式),降低容器逃逸和权限滥用风险。
需为不同硬件架构(如x86_64、ARM)构建镜像时,通过多平台构建功能一次性生成多架构镜像并推送至仓库。
在Woodpecker CI的流水线配置文件(.woodpecker.yml)中,通过steps定义使用该插件,示例如下:
yamlsteps: build-image: image: docker.xuanyuan.run/woodpeckerci/plugin-kaniko settings: repo: my-docker-repo/my-image tag: latest dockerfile: ./Dockerfile context: . registry: https://index.docker.io/v1/ username: from_secret: docker_username password: from_secret: docker_password
| 参数名 | 类型 | 描述 | 示例值 |
|---|---|---|---|
repo | 必需 | 目标镜像仓库名称(含命名空间) | my-docker-repo/my-app |
tag | 可选 | 镜像标签,支持多个标签(用逗号分隔) | latest,${CI_COMMIT_SHA:0:8} |
dockerfile | 可选 | Dockerfile路径(相对于构建上下文) | ./build/Dockerfile |
context | 可选 | 构建上下文路径(相对于代码仓库根目录) | .(默认) |
registry | 可选 | 容器仓库地址(默认:Docker Hub) | https://gcr.io |
username | 可选 | 仓库认证用户名(推送镜像时必需) | my-user |
password | 可选 | 仓库认证密码/令牌(推送镜像时必需) | my-token |
platforms | 可选 | 多平台构建目标(用逗号分隔),需Kaniko支持 | linux/amd64,linux/arm64 |
cache | 可选 | 是否启用构建缓存(true/false) | true(默认) |
cache_repo | 可选 | 缓存镜像仓库地址(默认使用目标仓库) | my-docker-repo/build-cache |
build_args | 可选 | 传递给Dockerfile的构建参数(键值对,用逗号分隔) | APP_VERSION=1.0.0,ENV=prod |
skip_tls_verify | 可选 | 是否跳过仓库TLS证书验证(用于私有仓库自签名证书) | false(默认) |
snapshot_mode | 可选 | 文件系统快照模式(full/redo/time,Kaniko原生参数) | full(默认) |
push | 可选 | 是否推送镜像至仓库(true/false,默认:true) | true |
1. 多平台构建
yamlsteps: build-multiarch: image: docker.xuanyuan.run/woodpeckerci/plugin-kaniko settings: repo: my-repo/my-app tag: multiarch platforms: linux/amd64,linux/arm64 dockerfile: Dockerfile.multiarch registry: https://index.docker.io/v1/ username: from_secret: docker_username password: from_secret: docker_password
2. 启用构建缓存加速
yamlsteps: build-with-cache: image: docker.xuanyuan.run/woodpeckerci/plugin-kaniko settings: repo: my-repo/my-app tag: ${CI_COMMIT_BRANCH} cache: true cache_repo: my-repo/build-cache # 独立缓存仓库,避免污染目标镜像 dockerfile: Dockerfile context: .
3. 传递构建参数
yamlsteps: build-with-args: image: docker.xuanyuan.run/woodpeckerci/plugin-kaniko settings: repo: my-repo/my-app tag: ${CI_COMMIT_SHA:0:8} build_args: "APP_VERSION=${CI_COMMIT_TAG},BUILD_DATE=$(date +%Y-%m-%d)" dockerfile: Dockerfile
from_secret从密钥管理中获取,避免明文暴露。tag参数支持动态值(如Git提交哈希、分支名),需结合Woodpecker CI的环境变量(如CI_COMMIT_SHA、CI_COMMIT_BRANCH)。--privileged权限,但需确保构建上下文(代码仓库)可被插件访问。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务