
如果你使用 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://github.com/emilioforrer/ci-tools 是一个用于CI/CD部署的https://hub.docker.com/r/emilioforrer/ci-tools%E9%95%9C%E5%83%8F%EF%BC%8C%E9%9B%86%E6%88%90%E4%BA%86curl%E3%80%81dind%E3%80%81docker-compose%E3%80%81kind%E3%80%81kubectl%E3%80%81helm%E3%80%81vault%E3%80%811password%E3%80%81semver-cli%E3%80%81argo-cd%E3%80%81bitwarden%E3%80%81waypoint%E3%80%81earthly%E7%AD%89%E5%A4%9A%E7%A7%8D%E5%B7%A5%E5%85%B7%E3%80%82
| 名称 | 版本 | 命令 |
|---|---|---|
| git | 2.34.1 | git version |
| bash | 5.1.8(1)-release | bash --version |
| yq | 2.13.0 | yq --version |
| jq | v3.15.0_alpha20210804-4073 | jq --version |
| curl | 7.80.0 | curl --version |
| docker | 20.10.12 | docker --version |
| docker-compose | 1.29.2 | docker-compose --version |
| kind | 0.11.1 | kind --version |
| kubectl | v1.23.3 | kubectl version --client |
| helm | v3.8.0 | helm version |
| vault | v1.9.3 | vault --version |
| 1password | 1.12.4 | op --version |
| bitwarden | 1.21.0 | bw --version |
| semver-cli | 1.1.0 | -- |
| argocd | v2.2.5+8f981cc | argocd version --client |
| waypoint | v0.7.1 | waypoint --version |
| earthly | v0.6.7 | earthly --version |
注意:如需查看支持的标签和依赖版本的变更列表,请参阅CHANGELOG.md。
该镜像包含自定义彩色bash,将STERR输出为红色,并提供了额外的命令:
注意:如需设置bash并导入命令,可运行source /scripts/.bashrc;
命令 - generate_service_account_kubeconfig
此命令基于服务账户令牌生成kubeconfig文件,适用于在Pod中运行的场景。
示例:
bashgenerate_service_account_kubeconfig; export KUBECONFIG="$(pwd)/kubeconfig";
带参数(API_SERVER、FILE_NAME):
bashgenerate_service_account_kubeconfig "https://kubernetes.default.svc.cluster.local" "kubeconfig-dev"; export KUBECONFIG="$(pwd)/kubeconfig-dev";
命令 - println
此命令接受第一个参数为颜色,第二个参数为文本(如未指定颜色,则使用默认颜色)。
示例:
以红色打印文本 hello
bashprintln r "hello"
以警告色(黄色)打印文本 hello
bashprintln warn "hello"
以青色打印文本 hello
bashprintln cyan "hello"
以默认颜色打印文本 hello
bashprintln "hello"
颜色列表:
| 名称 | 简称 |
|---|---|
| black | bk |
| red | r |
| green | g |
| yellow | y |
| blue | b |
| purple | p |
| cyan | c |
| white | wh |
| info | i |
| warn (黄色) | w |
| error (红色) | e |
| sucsess (绿色) | ok |
DIND 是在Docker容器中运行Docker的方式(例如,拉取和构建镜像,或运行其他容器),适用于CI/CD系统。
bashdocker run --rm -it \ -v /var/run/docker.sock:/var/run/docker.sock \ emilioforrer/ci-tools:latest \ bash
在镜像内部可运行sudo docker version,或:
bashdocker run --rm -it \ -v /var/run/docker.sock:/var/run/docker.sock \ emilioforrer/ci-tools:latest \ sudo docker version
Docker Compose 是用于定义和运行多容器Docker应用的工具。通过YAML文件配置应用的服务。
示例:创建docker-compose.yaml文件。
bashcat << EOF > docker-compose.yaml version: "3.7" services: nginx-hello: image: emilioforrer/nginx-hello ports: - '8000:80' ruby-hello: image: emilioforrer/ruby-hello network_mode: "host" ports: - '5000:5000' python-hello: image: emilioforrer/python-hello network_mode: "host" ports: - '5000:5000' nodejs-hello: image: emilioforrer/nodejs-hello network_mode: "host" environment: URLS: 'http://0.0.0.0:7000,http://0.0.0.0:3000,http://0.0.0.0:4000,http://0.0.0.0:5000' ports: - '9000:9000' php-hello: image: emilioforrer/php-hello network_mode: "host" ports: - '7000:7000' elixir-hello: image: emilioforrer/elixir-hello network_mode: "host" ports: - '4000:4000' environment: RUBY_URL: 'http://0.0.0.0:3000' PHP_URL: 'http://0.0.0.0:7000' EOF
然后运行:
bashdocker run --rm -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(pwd)/:/home/developer/workspace \ emilioforrer/ci-tools:latest \ sudo docker-compose up
现在打开浏览器访问http://localhost:5001/。
https://github.com/kubernetes-sigs/kind 是使用Docker容器"节点"运行本地Kubernetes集群的工具。主要用于测试Kubernetes,也可用于本地开发或CI。
示例:
bashdocker run --rm -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(pwd)/:/home/developer/workspace \ emilioforrer/ci-tools:latest \ sudo kind create cluster
Kubectl 是用于控制Kubernetes集群的命令行工具。
示例:
bashdocker run --rm -v "$KUBECONFIG:$KUBECONFIG" \ -e KUBECONFIG=$KUBECONFIG \ emilioforrer/ci-tools:latest kubectl version
Helm 是查找、分享和使用Kubernetes构建软件的最佳方式。
bashdocker run -v $(pwd)/:/home/developer/workspace \ emilioforrer/ci-tools:latest \ helm version
Git 是一个免费开源的分布式版本控制系统,旨在快速高效地处理从小型到大型项目。
示例:在主机当前工作目录克隆仓库。
bashdocker run -v $(pwd)/:/home/developer/workspace \ emilioforrer/ci-tools:latest \ git clone https://github.com/emilioforrer/ci-tools.git
yq 是轻量级、可移植的命令行YAML处理器。
示例:创建YAML并获取节点。
bashcat <<EOF > pod.yaml apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: containers: - name: myapp-container image: busybox command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600'] EOF
获取容器名称:
bashdocker run -v $(pwd)/:/home/developer/workspace \ emilioforrer/ci-tools:latest \ yq '.spec.containers[0].name' pod.yaml
https://stedolan.github.io/jq/ 类似于JSON数据的sed - 可用于切片、过滤、映射和转换结构化数据,如同sed、awk、grep处理文本一样简单。
示例:创建JSON并获取节点。
bashcat <<EOF > pod.json { "apiVersion": "v1", "kind": "Pod", "metadata": { "name": "myapp-pod", "labels": { "app": "myapp" } }, "spec": { "containers": [ { "name": "myapp-container", "image": "busybox", "command": [ "sh", "-c", "echo Hello Kubernetes! && sleep 3600" ] } ] } } EOF
获取容器名称:
bashdocker run -v $(pwd)/:/home/developer/workspace \ emilioforrer/ci-tools:latest \ jq '.spec.containers[0].name' pod.json
curl 用于在命令行或脚本中传输数据。广泛应用于汽车、电视、路由器、打印机、音频设备、手机、平板等设备,是数千款软件应用的互联网传输骨干。
示例:
bashdocker run -v $(pwd)/:/home/developer/workspace \ emilioforrer/ci-tools:latest \ curl -fG https://raw.githubusercontent.com/emilioforrer/ci-tools/develop/README.md > README.md
vault 用于安全存储和严格控制对令牌、密码、证书、加密密钥等敏感数据的访问,支持通过UI、CLI或HTTP API操作。
示例:
bashdocker run -v $(pwd)/:/home/developer/workspace \ emilioforrer/ci-tools:latest \ vault --version
1Password 让您只需记住一个主密码,其他密码和重要信息均受主密码保护,仅您可见。
示例:
bashdocker run -it emilioforrer/ci-tools:latest op --version
Bitwarden 开源密码管理工具,为个人和企业提供在任何设备上安全存储、共享敏感数据的简单方式。
示例:
bashdocker run -it emilioforrer/ci-tools:latest bw --version
waypoint-cli 允许开发人员通过底层基础设施的一致抽象来部署、管理和观察应用。
示例:
bashdocker run -it emilioforrer/ci-tools:latest waypoint --help
earthly-cli 是用于定义构建的语法,可与现有构建系统配合使用,提供可重复和可理解的构建流程。
示例:
bash# 如需在镜像内无需sudo使用`earthly bootstrap`,需添加`--group-add $(stat -c '%g' /var/run/docker.sock)` docker run -it -v /var/run/docker.sock:/var/run/docker.sock --group-add $(stat -c '%g' /var/run/docker.sock) emilioforrer/ci-tools:latest earthly --help
https://github.com/davidrjonas/semver-cli 是用于比较和操作版本字符串的简单命令行工具。
示例:
bashdocker run -it emilioforrer/ci-tools:latest semver --help
构建Docker镜像
bash# 构建Docker镜像 ./build.sh # 构建并推送Docker镜像 DOCKER_PUSH=true ./build.sh
注意:推送镜像前,请确保修改VERSION文件中的发布版本。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务