
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
backend-tests-git-server是一个基于Alpine Linux的轻量级Git服务器Docker镜像,衍生自https://github.com/jkarlosb/git-server-docker%E9%A1%B9%E7%9B%AE%E3%80%82%E8%AF%A5%E9%95%9C%E5%83%8F%E4%B8%93%E4%B8%BA%E6%B5%8B%E8%AF%95%E5%92%8C%E8%B0%83%E8%AF%95%E5%9C%BA%E6%99%AF%E8%AE%BE%E8%AE%A1%EF%BC%8C%E5%86%85%E7%BD%AE%E9%A2%84%E9%85%8D%E7%BD%AE%E7%9A%84%E5%AF%86%E9%92%A5%E5%AF%B9%E5%92%8CGit%E4%BB%93%E5%BA%93%EF%BC%8C%E5%8F%AF%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E5%88%B0%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E4%B8%AD%EF%BC%8C%E6%8F%90%E4%BE%9B%E6%9C%AC%E5%9C%B0Git%E6%9C%8D%E5%8A%A1%E6%A8%A1%E6%8B%9F%E8%83%BD%E5%8A%9B%E3%80%82
!https://raw.githubusercontent.com/jkarlosb/git-server-docker/master/git-server-docker.jpg
keys目录包含用于服务器认证的密钥对(私钥仅用于测试调试)repos目录提供即用型Git仓库,容器启动时自动部署到服务目录安全警告:内置密钥对仅用于测试和调试,严禁在生产环境或其他场景使用。
本镜像的基础用法与原镜像(https://github.com/jkarlosb/git-server-docker%EF%BC%89%E4%B8%80%E8%87%B4%EF%BC%8C%E8%AF%A6%E7%BB%86%E6%96%87%E6%A1%A3%E5%8F%AF%E5%8F%82%E8%80%83%E5%85%B6GitHub%E4%BB%93%E5%BA%93%E3%80%82
镜像扩展功能主要体现在以下两个目录:
keys:存储用于服务器认证的密钥对,容器启动时自动部署到认证目录repos:包含预配置的Git仓库,容器启动时自动复制到服务目录密钥和仓库的具体部署逻辑可参考镜像内的Dockerfile和start.sh脚本。
若后端开发环境已启动,且容器在yd-subnet网络中以git-server名称运行(IP:172.42.0.14),可通过以下步骤本地访问仓库:
编辑~/.ssh/config文件,添加如下配置:
Host git-server Hostname 172.42.0.14 IdentityFile <PATH_TO_KEY>/backend-tests-git-server/keys/id_ed25519 IdentitiesOnly yes
配置说明:
Host git-server:与容器及服务名称保持一致(在后端docker-compose.yml中定义)Hostname:容器在yd-subnet网络中的固定IPIdentityFile:本地密钥文件路径,需替换为实际路径IdentitiesOnly yes:确保仅使用指定密钥进行认证配置完成后,可通过git clone git@git-server:/git-server/repos/<REPO_NAME>.git访问仓库。
添加密钥对
在keys目录中添加新的密钥对文件,容器启动时会自动将其复制到容器内的SSH认证目录,无需额外配置即可生效。
方法1:通过Dockerfile集成公开仓库
若需添加公开可访问的仓库,可在Dockerfile中添加以下命令,将公开仓库克隆为bare仓库并存储到/repos目录:
dockerfileRUN git clone --bare https://github.com/gh_user/new_repo.git /repos/new_repo.git
方法2:手动创建bare仓库
对于无法公开访问的仓库,可按以下步骤手动创建bare仓库:
创建临时Git仓库并初始化:
shcd repos mkdir tmp && cd tmp git init git branch -M master touch README.md git add README.md git commit -m"initial commit"
克隆为bare仓库并清理临时文件:
shcd .. git clone --bare tmp <REPO_NAME>.git rm -rf tmp/
为空白目录添加.gitkeep文件(确保Git能跟踪):
shtouch repos/<REPO_NAME>.git/refs/heads/.gitkeep touch repos/<REPO_NAME>.git/refs/tags/.gitkeep touch repos/<REPO_NAME>.git/branches/.gitkeep
新仓库将通过git@git-server:/git-server/repos/<REPO_NAME>.git地址对后端服务及本地环境(已配置.ssh/config)可见。
镜像构建与推送
修改Dockerfile或相关文件后,需执行以下步骤更新镜像:
1.2.3)cycloid/backend-tests-git-server:v<VERSION>(如v1.2.3)集成至youdeploy环境
youdeploy-http-api项目的docker-compose.yml,指定新镜像标签cycloid-stacks以缓存新镜像,确保部署环境可拉取最新版本在Cycloid环境中,该Git服务器用于集成测试,仓库内容应保持稳定,所有修改均为临时且非持久化。docker-compose.yml已配置使用tmpfs存储密钥和仓库,避免数据持久化。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务