concourse/concourse-devConcourse Dev Image 是基于 Concourse 主开发流水线生成的类发布候选版(RC-like)镜像,构建素材来源于 GitHub master 分支的最新代码。该镜像旨在提供 Concourse 最新开发阶段的功能预览,供用户测试未正式发布的特性和改进。
master 分支的最新代码变更,提供未正式发布的功能和修复。master 分支代码同步。以下命令启动 Concourse Web 节点(管理界面和 API)和 Worker 节点(任务执行),使用内置的 "dummy" 认证(仅用于测试):
bash# 启动 Concourse Web 节点(需提前准备 PostgreSQL 实例) docker run -d \ --name concourse-web \ -p 8080:8080 \ -e CONCOURSE_EXTERNAL_URL=http://localhost:8080 \ -e CONCOURSE_POSTGRES_HOST=<postgres-host> \ -e CONCOURSE_POSTGRES_USER=<postgres-user> \ -e CONCOURSE_POSTGRES_PASSWORD=<postgres-password> \ -e CONCOURSE_POSTGRES_DATABASE=<postgres-db> \ -e CONCOURSE_ADD_LOCAL_USER=test:test \ # 本地测试用户(用户名:密码) concourse/dev:latest web # 启动 Concourse Worker 节点(连接到 Web 节点) docker run -d \ --name concourse-worker \ --privileged \ # Worker 需要特权模式以运行容器任务 -e CONCOURSE_TSA_HOST=localhost:2222 \ # Web 节点的 TSA 服务地址 -e CONCOURSE_TSA_PUBLIC_KEY=/keys/tsa_host_key.pub \ -e CONCOURSE_WORKER_PRIVATE_KEY=/keys/worker_key \ -v $(pwd)/keys:/keys \ # 挂载密钥目录(需提前生成) concourse/dev:latest worker
| 变量名 | 说明 | 示例值 |
|---|---|---|
CONCOURSE_EXTERNAL_URL | 外部可访问的 Web 界面 URL | [***] |
CONCOURSE_POSTGRES_* | PostgreSQL 数据库连接参数 | CONCOURSE_POSTGRES_HOST=pg-db |
CONCOURSE_ADD_LOCAL_USER | 添加本地测试用户(格式:用户名:密码) | admin:admin123 |
CONCOURSE_MAIN_TEAM_LOCAL_USER | 授予本地用户 main 团队权限 | test |
Worker 需通过密钥与 Web 节点的 TSA 服务通信,需提前生成密钥对:
bashmkdir -p keys ssh-keygen -t rsa -f keys/tsa_host_key -N '' # TSA 主机密钥 ssh-keygen -t rsa -f keys/worker_key -N '' # Worker 私有密钥 cp keys/tsa_host_key.pub keys/authorized_worker_keys # 授权 Worker 公钥
快速部署完整测试环境(Web + Worker + PostgreSQL):
yamlversion: '3' services: postgres: image: postgres:13 environment: POSTGRES_USER: concourse POSTGRES_PASSWORD: concourse POSTGRES_DB: concourse volumes: - postgres-data:/var/lib/postgresql/data web: image: concourse/dev:latest command: web depends_on: - postgres ports: - "8080:8080" # Web 界面 - "2222:2222" # TSA 服务(Worker 连接端口) environment: CONCOURSE_EXTERNAL_URL: http://localhost:8080 CONCOURSE_POSTGRES_HOST: postgres CONCOURSE_POSTGRES_USER: concourse CONCOURSE_POSTGRES_PASSWORD: concourse CONCOURSE_POSTGRES_DATABASE: concourse CONCOURSE_ADD_LOCAL_USER: test:test volumes: - ./keys:/keys worker: image: concourse/dev:latest command: worker depends_on: - web privileged: true environment: CONCOURSE_TSA_HOST: web:2222 CONCOURSE_TSA_PUBLIC_KEY: /keys/tsa_host_key.pub CONCOURSE_WORKER_PRIVATE_KEY: /keys/worker_key volumes: - ./keys:/keys volumes: postgres-data:
postgres-data)确保数据库和任务数据不丢失。CONCOURSE_EXTERNAL_URL 和 TSA 端口可被 Worker 访问。master 分支代码可能包含破坏性变更,建议定期同步最新镜像以避免兼容性问题。通过 Docker Hub 拉取最新版本:
bashdocker pull concourse/dev:latest
(注:镜像标签 latest 对应 master 分支最新构建,历史版本需指定具体 commit 标签,如 concourse/dev:abc123)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务