gocdexperimental/gocd-agent-alpine基于Alpine 3的GoCD代理容器镜像。
请在 [***] 提交相关问题和反馈。
该镜像提供了轻量级的GoCD代理环境,基于Alpine Linux构建,用于连接GoCD服务器并执行持续集成/持续部署(CI/CD)任务。代理负责接收服务器分配的构建任务,执行构建流程并将结果反馈给服务器,是GoCD CI/CD pipeline的核心执行组件。
启动容器并连接到GoCD服务器:
bashdocker run -d -e GO_SERVER_URL=... gocd/gocd-agent-alpine:v25.4.0
注意:必须始终指定版本标签,不提供
latest标签。
GO_SERVER_URL必须是HTTPS URL并以/go结尾,例如:[***]
如果已运行gocd-server容器且容器名为angry_feynman,可通过以下方式连接代理:
方法一:使用容器IP
bashdocker run -d -e GO_SERVER_URL=[***] inspect --format='{{(index (index .NetworkSettings.IPAddress))}}' angry_feynman):8153/go gocd/gocd-agent-alpine:v25.4.0
方法二:使用主机端口映射 如果GoCD服务器容器已将端口映射到主机:
bashdocker run -d -e GO_SERVER_URL=[***] inspect --format='{{(index (index .NetworkSettings.Ports "8153/tcp") 0).HostPort}}' angry_feynman)/go gocd/gocd-agent-alpine:v25.4.0
通过环境变量配置自动注册,服务器将自动批准代理:
bashdocker run -d \ -e AGENT_AUTO_REGISTER_KEY=... \ -e AGENT_AUTO_REGISTER_RESOURCES=... \ -e AGENT_AUTO_REGISTER_ENVIRONMENTS=... \ -e AGENT_AUTO_REGISTER_HOSTNAME=... \ gocd/gocd-agent-alpine:v25.4.0
详细信息参见GoCD官方文档:代理自动注册
通过AGENT_BOOTSTRAPPER_ARGS环境变量配置SSL参数:
bashdocker run -d \ -e AGENT_BOOTSTRAPPER_ARGS='-sslVerificationMode NONE ...' \ gocd/gocd-agent-alpine:v25.4.0
支持的选项参见官方文档
该镜像可直接与以下插件配合使用,无需特殊配置:
GoCD代理将配置、日志和构建数据存储在/godata目录,可挂载该目录实现数据持久化。/home/go目录可用于存储安全凭证(如SSH私钥):
bashdocker run -v /path/to/godata:/godata -v /path/to/home-dir:/home/go gocd/gocd-agent-alpine:v25.4.0
注意:确保主机目录
/path/to/home-dir和/path/to/godata可被容器内的go用户(uid 1000)访问。
通过GOCD_AGENT_JVM_OPTS环境变量调整JVM参数(内存、堆大小等):
bashdocker run -e GOCD_AGENT_JVM_OPTS="-Dfoo=bar -Xmx512m" gocd/gocd-agent-alpine:v25.4.0
GoCD代理以go用户运行,主要目录说明:
| 目录路径 | 描述 |
|---|---|
/godata/config | GoCD配置存储目录 |
/godata/pipelines | 代理执行构建任务的工作目录 |
/godata/logs | GoCD日志输出目录 |
/home/go | GoCD代理用户(go)的主目录 |
要在构建任务中执行docker或docker-compose命令,需共享主机的docker socket:
bashdocker run -v /var/run/docker.sock:/var/run/docker.sock gocd/gocd-agent-alpine:v25.4.0
注意:当运行多个代理容器时,需通过
VOLUME_DIR环境变量为每个容器设置不同的/godata路径,避免冲突。例如:bashdocker run -e VOLUME_DIR=/go-agent1/godata -v /host/path/go-agent1/godata:/go-agent1/godata gocd/gocd-agent-alpine:v25.4.0
docker ps -adocker logs CONTAINER_IDbashdocker exec -it CONTAINER_ID /bin/bash less /godata/logs/*.log
plainCopyright Thoughtworks, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at [***] Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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