
本镜像继承自 travix/gocd-agent:latest,并额外集成了 gcloud 包。它提供了在容器环境中运行 GoCD Agent 的能力,同时支持通过 Google Cloud SDK 执行与 Google Cloud 平台相关的 CI/CD 操作。
适用于需要在 GoCD CI/CD 流程中集成 Google Cloud 服务的场景,例如:
shdocker run -d travix/gocd-agent-gcloud:latest
通过以下环境变量可自定义 Agent 行为:
| 名称 | 描述 | 默认值 |
|---|---|---|
| GO_SERVER | 要连接的 GoCD Server 主机名或 IP 地址 | localhost |
| GO_SERVER_PORT | GoCD Server 的 HTTP 端口 | 8153 |
| AGENT_MEM | Java 虚拟机初始内存 (-Xms) | 128m |
| AGENT_MAX_MEM | Java 虚拟机最大内存 (-Xmx) | 256m |
| AGENT_KEY | 服务器端设置的 Agent 自动注册密钥 | |
| AGENT_RESOURCES | 自动注册时设置的资源标签(逗号分隔) | |
| AGENT_ENVIRONMENTS | 自动注册时分配的环境(逗号分隔) | |
| AGENT_HOSTNAME | Agent 主机名,默认使用容器实际主机名 | |
| DOCKER_GID_ON_HOST | 主机 Docker 组的 GID,用于无 sudo 使用 Docker socket |
配置示例
连接自定义 GoCD Server:
shdocker run -d \ -e "GO_SERVER=gocd.yourdomain.com" \ travix/gocd-agent-gcloud:latest
使用自动注册密钥:
shdocker run -d \ -e "GO_SERVER=gocd.yourdomain.com" \ -e "AGENT_KEY=388b633a88de126531afa41eff9aa69e" \ travix/gocd-agent-gcloud:latest
配置资源标签、环境和主机名:
shdocker run -d \ -e "GO_SERVER=gocd.yourdomain.com" \ -e "AGENT_KEY=388b633a88de126531afa41eff9aa69e" \ -e "AGENT_RESOURCES=deploy-x,deploy-z" \ -e "AGENT_ENVIRONMENTS=Production" \ -e "AGENT_HOSTNAME=deploy-agent-01" \ travix/gocd-agent-gcloud:latest
挂载 Docker 组件(安全风险提示):
shdocker run -d \ -e "GO_SERVER=gocd.yourdomain.com" \ -e "DOCKER_GID_ON_HOST=$(getent group docker | cut -d: -f3)" \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ travix/gocd-agent-gcloud:latest
安全注意:挂载 Docker socket 和二进制文件会使容器间接获得主机的广泛访问权限,存在安全风险。
可挂载以下目录实现数据持久化或资源共享:
| 目录路径 | 描述 | 重要性说明 |
|---|---|---|
| /var/lib/go-agent/pipelines | 存储流水线工作副本 | 建议定期清理,非必须挂载 |
| /var/log/go-agent | 存储 Agent 日志(同时输出到标准输出) | 建议通过标准输出收集日志,非必须挂载 |
| /var/go/.ssh | SSH 密钥存储目录(用于版本控制系统访问) | 不建议嵌入密钥,建议挂载 |
| /var/go/.gcloud | Google Cloud 服务账号密钥存储目录 | 不建议嵌入密钥,建议挂载 |
| /var/run/docker.sock | 主机 Docker socket | 注意:存在安全风险 |
| /usr/bin/docker | 主机 Docker 二进制文件 | 注意:存在安全风险 |
挂载示例
shdocker run -d \ -e "GO_SERVER=gocd.yourdomain.com" \ -e "AGENT_KEY=388b633a88de126531afa41eff9aa69e" \ -e "AGENT_RESOURCES=deploy-x,deploy-z" \ -e "AGENT_ENVIRONMENTS=Production" \ -e "AGENT_HOSTNAME=deploy-agent-01" \ -v /mnt/persistent-disk/gocd-agent/pipelines:/var/lib/go-agent/pipelines \ -v /mnt/persistent-disk/gocd-agent/logs:/var/log/go-agent \ -v /mnt/persistent-disk/gocd-agent/ssh:/var/go/.ssh \ -v /mnt/persistent-disk/gocd-agent/gcloud:/var/go/.gcloud \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ travix/gocd-agent-gcloud:latest
为确保容器进程可读写挂载目录,需在主机创建匹配的用户和组:
shgroupadd -r -g 999 go useradd -r -g go -u 999 go
修改主机目录权限:
shchown -R go:go /mnt/persistent-disk/gocd-agent/pipelines chown -R go:go /mnt/persistent-disk/gocd-agent/ssh chown -R go:go /mnt/persistent-disk/gocd-agent/gcloud
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务