
fluxcd/gitsrv本镜像是基于Alpine Linux的轻量级Git服务器,专为Flux的端到端(E2E)测试场景设计。Alpine Linux的底层确保了镜像体积小(通常<50MB)、启动速度快且资源占用低,适合作为测试环境中的Git服务组件,为Flux控制器提供稳定的Git仓库访问端点。
bashdocker run -d --name flux-test-git-server -p 2222:22 -v ./git-repos:/git ghcr.io/fluxcd/alpine-git-server:latest
-p 2222:22:将容器内SSH端口(22)映射到主机2222端口-v ./git-repos:/git:挂载本地目录./git-repos到容器内/git目录,持久化Git仓库数据bashdocker run -d --name flux-test-git-server \ -p 2233:2222 \ -v /host/path/to/git-data:/git \ -e SSH_PORT=2222 \ -e AUTHORIZED_KEYS="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." \ ghcr.io/fluxcd/alpine-git-server:latest
SSH_PORT=2222:修改容器内SSH服务监听端口为2222AUTHORIZED_KEYS:预配置授权SSH公钥(多个公钥用换行符分隔)2233:2222以匹配自定义SSH端口| 参数类型 | 参数名 | 默认值 | 说明 |
|---|---|---|---|
| 环境变量 | SSH_PORT | 22 | SSH服务监听端口 |
| 环境变量 | GIT_REPO_PATH | /git | Git仓库存储根目录 |
| 环境变量 | AUTHORIZED_KEYS | 空 | 授权SSH公钥,用于Git访问认证 |
| 数据卷 | /git | 容器内临时存储 | Git仓库数据持久化目录 |
创建测试仓库
通过容器命令行创建 bare 仓库(Git服务器标准配置):
bash# 进入容器 docker exec -it flux-test-git-server sh # 创建测试仓库 cd /git && git init --bare flux-test-repo.git
访问Git仓库
通过SSH协议克隆仓库(默认用户为git):
bashgit clone ssh://git@localhost:2222/git/flux-test-repo.git
注意:需确保本地SSH密钥已添加到容器的授权列表(通过
AUTHORIZED_KEYS环境变量或/git/.ssh/authorized_keys文件)
为避免容器重启导致测试数据丢失,必须通过数据卷挂载持久化/git目录:
bash# 本地目录持久化(推荐) docker run -v /host/mount/path:/git ... # 命名卷持久化(适合Docker Compose场景) docker volume create flux-git-data docker run -v flux-git-data:/git ...
git,不支持密码认证,仅通过SSH密钥授权/git/.ssh/authorized_keys文件(权限需设为600)git用户(UID 1000),挂载目录需确保该用户有读写权限





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务