
aligent/bitbucket-opensearch本Docker镜像扩展官方OpenSearch镜像,支持将环境变量从snake_case转换为点表示法,使其兼容Bitbucket Pipelines的环境变量约束。
预构建镜像可在Docker Hub获取:aligent/bitbucket-opensearch
bashdocker pull aligent/bitbucket-opensearch:latest docker pull aligent/bitbucket-opensearch:2.12.0
Bitbucket Pipelines服务存在以下限制:
本镜像通过自动转换以OPENSEARCH_SETTING_为前缀的环境变量,将snake_case格式转换为OpenSearch的点表示法配置格式,解决上述限制。
以OPENSEARCH_SETTING_为前缀的环境变量会被自动转换,规则如下:
| 环境变量 | 转换后的配置 |
|---|---|
OPENSEARCH_SETTING_CLUSTER_NAME | cluster.name |
OPENSEARCH_SETTING_NODE_NAME | node.name |
OPENSEARCH_SETTING_HTTP_PORT | http.port |
OPENSEARCH_SETTING_PLUGINS_SECURITY_DISABLED | plugins.security.disabled |
使用双下划线(__)可在配置名称中保留单个下划线:
| 环境变量 | 转换后的配置 |
|---|---|
OPENSEARCH_SETTING_CLUSTER_ROUTING_ALLOCATION_DISK_WATERMARK__LOW | cluster.routing.allocation.disk.watermark_low |
bashdocker build -t 你的仓库/opensearch-bitbucket:latest . # 构建特定OpenSearch版本 docker build --build-arg OPENSEARCH_VERSION=2.11.0 -t 你的仓库/opensearch-bitbucket:2.11.0 .
yamldefinitions: services: opensearch: image: aligent/bitbucket-opensearch:latest variables: discovery.type: single-node OPENSEARCH_INITIAL_ADMIN_PASSWORD: MyStrongPassword123! OPENSEARCH_SETTING_CLUSTER_NAME: my-cluster OPENSEARCH_SETTING_NODE_NAME: opensearch-node-1 OPENSEARCH_SETTING_HTTP_PORT: 9200 OPENSEARCH_SETTING_PLUGINS_SECURITY_DISABLED: true pipelines: default: - step: name: 使用OpenSearch运行测试 services: - opensearch script: - echo "等待OpenSearch启动..." - sleep 30 - curl -s http://localhost:9200 - # 在此处运行测试
bash# 构建镜像 docker build -t opensearch-bitbucket:test . # 运行测试容器 docker run -d \ --name opensearch-test \ -e "discovery.type=single-node" \ -e "OPENSEARCH_INITIAL_ADMIN_PASSWORD=MyStrongPassword123!" \ -e "OPENSEARCH_SETTING_CLUSTER_NAME=test-cluster" \ -e "OPENSEARCH_SETTING_NODE_NAME=test-node" \ -e "OPENSEARCH_SETTING_PLUGINS_SECURITY_DISABLED=true" \ -p 9200:9200 \ opensearch-bitbucket:test # 验证服务运行 curl http://localhost:9200 # 检查日志中的环境变量转换情况 docker logs opensearch-test 2>&1 | grep "Translated:" # 清理测试容器 docker stop opensearch-test && docker rm opensearch-test
本仓库配置了Docker Hub自动构建,支持多个OpenSearch版本。
latest - 最新稳定版OpenSearch(2.12.0)2.12.0、2.12、2 - OpenSearch 2.12.0版本仓库包含Docker Hub自动构建钩子:
本地构建特定OpenSearch版本:
bashdocker build --build-arg OPENSEARCH_VERSION=2.11.0 -t opensearch-bitbucket:2.11.0 .
Dockerfile - 扩展官方OpenSearch镜像,支持通过构建参数指定版本entrypoint.sh - 自定义入口点脚本,处理环境变量从snake_case到点表示法的转换hooks/ - Docker Hub自动构建钩子
build - 使用构建参数处理版本特定构建post_push - 创建额外的语义化版本标签(如2.12.0 → 2.12、2)本项目采用MIT许可证 - 详见LICENSE文件。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务