本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!Atlassian Bamboo
Bamboo 是一款持续集成和部署工具,可将自动化构建、测试和发布流程整合到单一工作流中。本 Docker 容器旨在简化 Bamboo 实例的部署和运行过程。
该 Docker 镜像同时以 atlassian/bamboo 和 atlassian/bamboo-server 名称发布,两者完全相同。-server 版本已弃用,仅为保持向后兼容性而保留;新安装建议使用较短名称 atlassian/bamboo。
注意:请使用 Docker 版本 >= 20.10.10
了解更多关于 Bamboo 的信息:[***]
BAMBOO_HOME 目录用于存储仓库数据及其他文件,建议通过数据卷或命名卷挂载主机目录。在 Data Center 模式下,必须挂载共享文件系统。
以下示例使用命名卷:
# 创建命名卷 $> docker volume create --name bambooVolume # 启动 Bamboo 容器 $> docker run -v bambooVolume:/var/atlassian/application-data/bamboo \ --name="bamboo" \ -d \ -p 8085:8085 \ -p 54663:54663 \ atlassian/bamboo
成功启动后,Bamboo 可通过 http://localhost:8085 访问。
资源建议:建议为容器分配至少 2GiB 内存,具体要求参见 系统要求。
注意:若在 Mac OS X 上使用
docker-machine,请通过open [***] ip default):8085访问。
创建 docker-compose.yml 文件:
version: '3' services: bamboo: image: atlassian/bamboo container_name: bamboo ports: - "8085:8085" - "54663:54663" volumes: - bambooVolume:/var/atlassian/application-data/bamboo environment: - JVM_MINIMUM_MEMORY=1g - JVM_MAXIMUM_MEMORY=2g - ATL_PROXY_NAME=ci.example.com - ATL_PROXY_PORT=443 - ATL_TOMCAT_SCHEME=https - ATL_TOMCAT_SECURE=true restart: unless-stopped volumes: bambooVolume:
启动服务:
$> docker-compose up -d
通过以下环境变量调整 JVM 内存分配:
JVM_MINIMUM_MEMORY:JVM 最小堆大小,默认 512mJVM_MAXIMUM_MEMORY:JVM 最大堆大小,默认 1024m当 Bamboo 部署在反向代理后时,需配置以下环境变量:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
ATL_PROXY_NAME | NONE | 反向代理的完全限定域名(兼容 CATALINA_CONNECTOR_PROXYNAME) |
ATL_PROXY_PORT | NONE | 反向代理端口(兼容 CATALINA_CONNECTOR_PROXYPORT) |
ATL_TOMCAT_PORT | 8085 | Tomcat/Bamboo 监听端口 |
ATL_TOMCAT_SCHEME | http | 访问协议(http/https,兼容 CATALINA_CONNECTOR_SCHEME) |
ATL_TOMCAT_SECURE | false | 若 ATL_TOMCAT_SCHEME 为 https,设为 true(兼容 CATALINA_CONNECTOR_SECURE) |
ATL_TOMCAT_CONTEXTPATH | NONE | 应用上下文路径(兼容 CATALINA_CONTEXT_PATH) |
Tomcat 连接器高级配置:
ATL_TOMCAT_MGMT_PORT:管理端口,默认 8007ATL_TOMCAT_MAXTHREADS:最大线程数,默认 150ATL_TOMCAT_MINSPARETHREADS:最小空闲线程数,默认 25ATL_TOMCAT_CONNECTIONTIMEOUT:连接超时时间(毫秒),默认 20000ATL_TOMCAT_COMPRESSION:是否启用压缩(off/on/force/数值),默认关闭ATL_TOMCAT_COMPRESSIBLEMIMETYPE:可压缩 MIME 类型,默认 text/html,text/xml,...ATL_TOMCAT_ACCESS_LOGS_MAXDAYS:访问日志保留天数,默认 -1(永不删除)通过 JVM_SUPPORT_RECOMMENDED_ARGS 传递额外 JVM 参数(如自定义信任库):
$> docker run -e JVM_SUPPORT_RECOMMENDED_ARGS=-Djavax.net.ssl.trustStore=/var/atlassian/application-data/bamboo/cacerts \ -v bambooVolume:/var/atlassian/application-data/bamboo \ --name="bamboo" \ -d \ -p 8085:8085 \ -p 54663:54663 \ atlassian/bamboo
| 环境变量 | 默认值 | 说明 |
|---|---|---|
ATL_AUTOLOGIN_COOKIE_AGE | 1209600(2周,秒) | "记住我"功能的最大登录时长 |
BAMBOO_HOME | /var/atlassian/application-data/bamboo | Bamboo 主目录,需确保 bamboo 用户可写 |
ATL_BROKER_URI | nio://0.0.0.0:54663 | ActiveMQ 代理监听地址(用于远程代理通信) |
ATL_BROKER_CLIENT_URI | - | 远程代理连接 ActiveMQ 的 URI |
ATL_BAMBOO_SKIP_CONFIG | false | 是否跳过生成 bamboo.cfg.xml(仅 Bamboo >=8.1 支持) |
可通过环境变量跳过安装向导,需提供以下参数:
| 环境变量 | 说明 |
|---|---|
SECURITY_TOKEN | 服务器/代理认证的安全令牌 |
ATL_BAMBOO_DISABLE_AGENT_AUTH | 是否禁用代理认证,默认 false |
ATL_LICENSE | 许可证密钥(可从 [***] 获取) |
ATL_BASE_URL | Bamboo 实例基础 URL |
ATL_ADMIN_USERNAME | 管理员用户名 |
ATL_ADMIN_PASSWORD | 管理员密码 |
ATL_ADMIN_FULLNAME | 管理员全名 |
ATL_ADMIN_EMAIL | 管理员邮箱 |
ATL_IMPORT_OPTION | 导入选项:clean(默认,全新安装)或 import(从备份导入) |
ATL_IMPORT_PATH | 备份文件路径(当 ATL_IMPORT_OPTION=import 时必填) |
可通过环境变量预配置数据库(安装向导将自动填充),需提供以下所有参数:
| 环境变量 | 说明 |
|---|---|
ATL_JDBC_URL | 数据库 URL(数据库特定格式) |
ATL_JDBC_USER | 数据库用户名 |
ATL_JDBC_PASSWORD | 数据库密码 |
ATL_DB_TYPE | 数据库类型:h2(仅评估)、mssql、mysql、oracle12c、postgresql |
示例(PostgreSQL):
$> docker run -e ATL_DB_TYPE=postgresql \ -e ATL_JDBC_URL=jdbc:postgresql://postgres:5432/bamboo \ -e ATL_JDBC_USER=bamboouser \ -e ATL_JDBC_PASSWORD=bamboopassword \ ...(其他参数)... atlassian/bamboo
注意:由于许可证限制,Bamboo 7.0+ 不包含 MySQL/Oracle JDBC 驱动。需手动复制驱动到容器:
# 复制 MySQL 驱动到容器 $> docker cp mysql-connector-java.x.y.z.jar bamboo:/opt/atlassian/bamboo/lib # 重启容器 $> docker restart bamboo
数据库连接池配置(可选):
| 环境变量 | 默认值 | 说明 |
|---|---|---|
ATL_DB_POOLMINSIZE | 3 | 最小连接数 |
ATL_DB_POOLMAXSIZE | 170 | 最大连接数 |
ATL_DB_TIMEOUT | 120000 | 超时时间(毫秒) |
ATL_DB_CONNECTIONTIMEOUT | 30000 | 连接超时时间(毫秒) |
ATL_DB_LEAKDETECTION | 0 | 泄漏检测阈值(毫秒,0为禁用) |
| 环境变量 | 默认值 | 说明 |
|---|---|---|
ATL_FORCE_CFG_UPDATE | false | 是否强制更新配置文件(适用于 Kubernetes 等环境) |
ATL_ALLOWLIST_SENSITIVE_ENV_VARS | - | 敏感环境变量白名单(逗号分隔,如 "PATH_TO_SECRET_FILE") |
SET_PERMISSIONS | true | 是否在启动时设置主目录权限 |
Bamboo 默认以 bamboo 用户(UID/GID=2005)运行,需确保 BAMBOO_HOME 目录对该 UID 可写。如需使用其他 UID,可通过以下方式:
升级步骤:
停止当前容器:
$> docker stop bamboo
删除容器(保留数据卷):
$> docker rm bamboo
使用新版本镜像启动:
$> docker run ...(使用与初始启动相同的参数)... atlassian/bamboo:8.x.x
警告:不要使用
-v选项删除容器,以免丢失数据卷。
备份详情参见 数据和备份。
Bamboo 可能需要时间完成活跃操作,建议通过 docker stop 时预留足够时间:
# 允许 30 秒关闭时间 $> docker stop -t 30 bamboo
或使用内置脚本优雅关闭:
$> docker exec bamboo /shutdown-wait.sh
atlassian/bamboo:latest:最新稳定版atlassian/bamboo:8(主版本)、atlassian/bamboo:8.0(次版本)、atlassian/bamboo:8.0.1(补丁版本)注:仅 8.0+ 版本持续更新,旧版本镜像仍可使用但不再维护。
克隆仓库:
$> git clone [***]
修改 config 目录下的 Jinja 模板(.j2 扩展名)
构建镜像:
$> docker build --tag my-bamboo-image --build-arg BAMBOO_VERSION=8.x.x .
通过内置脚本收集线程转储:
# 默认:10次转储,间隔5秒 $> docker exec my_container /opt/atlassian/support/thread-dumps.sh # 自定义:20次转储,间隔3秒 $> docker exec my_container /opt/atlassian/support/thread-dumps.sh --count 20 --interval 3
转储文件保存至 $APP_HOME/thread_dumps/<date>。
生成堆转储:
# 生成堆转储 $> docker exec my_container /opt/atlassian/support/heap-dump.sh # 覆盖现有文件 $> docker exec my_container /opt/atlassian/support/heap-dump.sh --force
堆转储文件保存至 $APP_HOME/heap.bin。
通过 jcmd 工具诊断:
$> docker exec -it my_container /bin/bash $> jcmd # 查看进程ID $> jcmd <pid> <command> # 执行诊断命令
镜像配置变更详情参见 Git 提交历史。
Copyright © 2020 Atlassian Corporation Pty Ltd.
基于 Apache License 2.0 许可。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429