!Atlassian Bitbucket Server
Bitbucket Server 是一款本地部署的 Git 源代码管理解决方案,具备安全、高效和企业级特性。支持创建与管理代码仓库、配置细粒度权限、实现代码协作,且可灵活部署在自有服务器环境中。
本 Docker 镜像旨在简化 Bitbucket Server 的部署流程,快速搭建可用实例。
了解更多关于 Bitbucket Server 的信息:<[***]>
BITBUCKET_HOME 目录用于存储仓库数据等持久化信息,推荐通过数据卷(Docker 1.9+ 推荐命名卷)挂载主机目录,确保数据持久化。卷权限由入口脚本自动管理。
bash# 创建命名卷 $> docker volume create --name bitbucketVolume # 启动容器 $> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket \ --name="bitbucket" \ -d \ -p 7990:7990 \ -p 7999:7999 \ atlassian/bitbucket-server
bash# 启动容器(主机目录 /data/bitbucket 作为数据卷) $> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket \ --name="bitbucket" \ -d \ -p 7990:7990 \ -p 7999:7999 \ atlassian/bitbucket-server
成功启动后,Bitbucket 可通过 http://localhost:7990 访问。
注意:若在 Mac OS X 中使用
docker-machine,需通过open [***] ip default):7990访问。
当 Bitbucket 部署在反向代理服务器后方时(参考 ***文档),需通过环境变量配置反向代理参数,使 Bitbucket 感知代理环境。
由于 5.0 版本迁移至 Spring Boot,反向代理配置方式变更。推荐通过环境变量文件或 -e 参数传递配置。
示例:使用环境变量文件
创建 secure-bitbucket.env 文件:
envSERVER_SECURE=true # 是否启用 HTTPS(true/false) SERVER_SCHEME=https # 访问协议(http/https) SERVER_PROXY_PORT=443 # 反向代理端口 SERVER_PROXY_NAME=bitbucket.example.com # 反向代理域名
启动容器:
bash$> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket \ --name="bitbucket" \ -d \ -p 7990:7990 \ -p 7999:7999 \ --env-file=/path/to/secure-bitbucket.env \ atlassian/bitbucket-server:5.0
通过 docker run 的 -e 参数指定以下环境变量:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
CATALINA_CONNECTOR_PROXYNAME | NONE | 反向代理的完全限定域名 |
CATALINA_CONNECTOR_PROXYPORT | NONE | 反向代理的访问端口 |
CATALINA_CONNECTOR_SCHEME | http | 访问协议(http/https) |
CATALINA_CONNECTOR_SECURE | false | 若协议为 https,需设为 true |
示例:
bash$> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket \ --name="bitbucket" \ -d \ -p 7990:7990 \ -p 7999:7999 \ -e CATALINA_CONNECTOR_PROXYNAME=bitbucket.example.com \ -e CATALINA_CONNECTOR_PROXYPORT=443 \ -e CATALINA_CONNECTOR_SCHEME=https \ -e CATALINA_CONNECTOR_SECURE=true \ atlassian/bitbucket-server:4.14
通过环境变量覆盖默认 JVM 内存配置或传递额外参数:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
JVM_MINIMUM_MEMORY | 512m | JVM 最小堆内存 |
JVM_MAXIMUM_MEMORY | 1024m | JVM 最大堆内存 |
JVM_SUPPORT_RECOMMENDED_ARGS | NONE | 额外 JVM 参数(如自定义信任库) |
示例:
bash$> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket \ --name="bitbucket" \ -d \ -p 7990:7990 \ -p 7999:7999 \ -e JVM_MINIMUM_MEMORY=2g \ -e JVM_MAXIMUM_MEMORY=4g \ -e JVM_SUPPORT_RECOMMENDED_ARGS="-Djavax.net.ssl.trustStore=/var/atlassian/application-data/bitbucket/truststore.jks" \ atlassian/bitbucket-server
支持以 Smart Mirror 或 Data Center 集群模式运行,通过以下环境变量配置:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
ELASTICSEARCH_ENABLED | true | 是否启用内置 Elasticsearch(Data Center 集群需设为 false) |
APPLICATION_MODE | default | 运行模式:default(默认)、mirror(Smart Mirror,自动禁用 Elasticsearch) |
HAZELCAST_NETWORK_MULTICAST | false | Data Center:启用多播发现集群节点(与 HAZELCAST_NETWORK_TCPIP 互斥) |
HAZELCAST_NETWORK_TCPIP | false | Data Center:启用 TCPIP 发现集群节点(需配合 HAZELCAST_NETWORK_TCPIP_MEMBERS) |
HAZELCAST_NETWORK_TCPIP_MEMBERS | - | Data Center:TCPIP 模式下的集群节点列表(如 172.18.1.1:5701,172.18.1.2:5701) |
HAZELCAST_GROUP_NAME | - | Data Center:集群组名称 |
HAZELCAST_GROUP_PASSWORD | - | Data Center:集群组密码 |
bash$> docker network create --driver bridge --subnet=172.18.0.0/16 myBitbucketNetwork
bash$> docker run --network=myBitbucketNetwork \ --ip=172.18.1.1 \ -e ELASTICSEARCH_ENABLED=false \ -e HAZELCAST_NETWORK_TCPIP=true \ -e HAZELCAST_NETWORK_TCPIP_MEMBERS=172.18.1.1:5701,172.18.1.2:5701 \ -e HAZELCAST_GROUP_NAME=bitbucket-cluster \ -e HAZELCAST_GROUP_PASSWORD=cluster-pass \ -v /data/bitbucket-shared:/var/atlassian/application-data/bitbucket/shared \ --name="bitbucket-node1" \ -d \ -p 7990:7990 \ -p 7999:7999 \ atlassian/bitbucket-server
通过以下环境变量启用并配置 JMX 监控(参考 ***文档):
| 环境变量 | 默认值 | 说明 |
|---|---|---|
JMX_ENABLED | false | 是否启用 JMX |
JMX_REMOTE_AUTH | NONE | 远程 JMX 认证方式:password(密码认证)、ssl(SSL 认证),其他值禁用远程访问 |
JMX_REMOTE_PORT | 3333 | JMX 协商端口 |
JMX_REMOTE_RMI_PORT | 随机 | JMX-RMI 数据传输端口(可设为与 JMX_REMOTE_PORT 相同) |
RMI_SERVER_HOSTNAME | NONE | JMX 客户端连接的主机名/IP(需客户端与 JVM 均可解析) |
JMX_PASSWORD_FILE | NONE | 密码认证文件路径(JMX_REMOTE_AUTH=password 时必填) |
示例:
bash$> docker run -v /data/bitbucket:/var/atlassian/application-data/bitbucket \ --name="bitbucket" \ -d \ -p 7990:7990 \ -p 7999:7999 \ -p 3333:3333 \ -e JMX_ENABLED=true \ -e JMX_REMOTE_AUTH=password \ -e JMX_REMOTE_PORT=3333 \ -e JMX_REMOTE_RMI_PORT=3333 \ -e RMI_SERVER_HOSTNAME=bitbucket.example.com \ -e JMX_PASSWORD_FILE=/var/atlassian/application-data/bitbucket/jmx.password \ atlassian/bitbucket-server
bash$> docker stop bitbucket $> docker rm bitbucket
bash$> docker pull atlassian/bitbucket-server:<目标版本> # 如 7.21.0
bash$> docker run -v bitbucketVolume:/var/atlassian/application-data/bitbucket \ --name="bitbucket" \ -d \ -p 7990:7990 \ -p 7999:7999 \ atlassian/bitbucket-server:<目标版本>
注意:升级时不要使用
-v选项删除容器卷,以免丢失数据。
BITBUCKET_HOME 目录(如 /data/bitbucket)。更多备份详情见 ***文档。
latest 标签:对应最新版本(不推荐生产环境使用)。atlassian/bitbucket-server:7.21),避免破坏性更新影响环境。版本标签格式为 主版本.次版本(如 7.21 会自动更新至最新 7.21.x 版本)。如遇镜像相关问题,请提交 issue。
产品支持请访问 support.atlassian.com。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429