OpenSearch 是一个可扩展的开源解决方案,用于搜索、分析和可观测性。它支持全文查询、自然语言处理、自定义词典等功能。
OpenSearch 概述
商标声明:本软件列表由 Bitnami 打包。产品中提及的各个商标分别归各自公司所有,使用这些商标并不意味着任何关联或认可。
Bitnami OpenSearch 镜像是一个预配置、随时可用的容器化版本,旨在简化 OpenSearch 的部署和管理。该镜像遵循行业最佳实践,提供安全、可靠且易于使用的 OpenSearch 环境,适用于开发和生产场景。
consoledocker run --name opensearch bitnami/opensearch:latest
yamlversion: '2' services: opensearch: image: bitnami/opensearch:latest ports: - "9200:9200" - "9300:9300" environment: - OPENSEARCH_PASSWORD=your_password - OPENSEARCH_ENABLE_SECURITY=true volumes: - opensearch_data:/bitnami/opensearch/data volumes: opensearch_data: driver: local
启动服务:
consoledocker-compose up -d
推荐的获取 Bitnami OpenSearch Docker 镜像的方法是从 Docker Hub registry 拉取预构建的镜像:
consoledocker pull bitnami/opensearch:latest
如需使用特定版本,可拉取带版本标签的镜像。您可以在 Docker Hub Registry 查看可用版本列表:
consoledocker pull bitnami/opensearch:[TAG]
如果需要,您也可以通过克隆仓库、进入包含 Dockerfile 的目录并执行 docker build 命令来自行构建镜像:
consolegit clone [***] cd bitnami/opensearch/[VERSION]/[OPERATING-SYSTEM] docker build -t bitnami/opensearch:latest .
如果删除容器,所有数据都将丢失,下次运行镜像时应用将重新初始化。为避免数据丢失,应挂载一个即使容器被删除也能持久化的卷。
应在 /bitnami 路径挂载一个目录。如果挂载的目录为空,将在首次运行时初始化:
consoledocker run \ -v /path/to/opensearch-data-persistence:/bitnami/opensearch/data \ bitnami/opensearch:latest
或对仓库中提供的 docker-compose.yml 文件进行微调:
yamlopensearch: ... volumes: - /path/to/opensearch-data-persistence:/bitnami/opensearch/data ...
注意:由于这是一个非 root 容器,挂载的文件和目录必须对 UID
1001具有适当的权限。
还可以使用 OPENSEARCH_DATA_DIR_LIST 环境变量实现多卷数据持久化:
yamlopensearch: ... volumes: - /path/to/opensearch-data-persistence-1:/opensearch/data-1 - /path/to/opensearch-data-persistence-2:/opensearch/data-2 environment: - OPENSEARCH_DATA_DIR_LIST=/opensearch/data-1,/opensearch/data-2 ...
使用 Docker 容器网络,在容器内运行的 OpenSearch 服务器可以轻松被其他应用容器访问。
连接到同一网络的容器可以使用容器名称作为主机名相互通信。
consoledocker network create app-tier --driver bridge
使用 --network app-tier 参数将 OpenSearch 容器附加到 app-tier 网络:
consoledocker run -d --name opensearch-server \ --network app-tier \ bitnami/opensearch:latest
consoledocker run -d --name myapp \ --network app-tier \ YOUR_APPLICATION_IMAGE
重要提示:
- 请将上述代码段中的 YOUR_APPLICATION_IMAGE 占位符替换为您的应用程序镜像
- 在应用容器中,使用主机名
opensearch-server连接到 OpenSearch 服务器
未指定时,Docker Compose 会自动设置一个新网络并将所有部署的服务附加到该网络。以下示例中,我们显式定义一个名为 app-tier 的新 bridge 网络,并假设您希望从自己的自定义应用程序镜像(在以下代码段中由服务名称 myapp 标识)连接到 OpenSearch 服务器:
yamlversion: '2' networks: app-tier: driver: bridge services: opensearch: image: bitnami/opensearch:latest networks: - app-tier myapp: image: YOUR_APPLICATION_IMAGE networks: - app-tier
重要提示:
- 请将上述代码段中的 YOUR_APPLICATION_IMAGE 占位符替换为您的应用程序镜像
- 在应用容器中,使用主机名
opensearch连接到 OpenSearch 服务器
启动容器:
consoledocker-compose up -d
| 名称 | 描述 | 默认值 |
|---|---|---|
OPENSEARCH_CERTS_DIR | 证书文件夹路径 | ${DB_CONF_DIR}/certs |
OPENSEARCH_DATA_DIR_LIST | 用于数据存储的目录列表,以逗号、分号或空格分隔 | nil |
OPENSEARCH_BIND_ADDRESS | OpenSearch 绑定地址 | nil |
OPENSEARCH_ADVERTISED_HOSTNAME | OpenSearch 广播主机名,用于发布 | nil |
OPENSEARCH_CLUSTER_HOSTS | OpenSearch 集群主机 | nil |
OPENSEARCH_CLUSTER_MASTER_HOSTS | OpenSearch 集群主节点主机 | nil |
OPENSEARCH_CLUSTER_NAME | OpenSearch 集群名称 | nil |
OPENSEARCH_HEAP_SIZE | OpenSearch 堆大小 | 1024m |
OPENSEARCH_MAX_ALLOWED_MEMORY_PERCENTAGE | OpenSearch 最大允许内存百分比 | 100 |
OPENSEARCH_MAX_ALLOWED_MEMORY | OpenSearch 最大允许内存量(以兆字节为单位) | nil |
OPENSEARCH_MAX_TIMEOUT | OpenSearch 最大初始化超时时间 | 60 |
OPENSEARCH_LOCK_ALL_MEMORY | 设置 bootstrap.memory_lock 参数 | no |
OPENSEARCH_DISABLE_JVM_HEAP_DUMP | 禁用 JVM 堆转储 | no |
OPENSEARCH_DISABLE_GC_LOGS | 禁用 GC 日志 | no |
OPENSEARCH_IS_DEDICATED_NODE | 如果为 false,OpenSearch 将配置所有角色,使用 DB_NODE_ROLES 部署为专用节点 | no |
OPENSEARCH_MINIMUM_MASTER_NODES | 最小主节点数 | nil |
OPENSEARCH_NODE_NAME | OpenSearch 节点名称 | nil |
OPENSEARCH_FS_SNAPSHOT_REPO_PATH | 从系统存储库恢复快照的 OpenSearch 存储库路径 | nil |
OPENSEARCH_NODE_ROLES | 以逗号分隔的 OpenSearch 角色列表。如果为空,将部署为仅协调节点 | nil |
OPENSEARCH_PLUGINS | 要激活的 OpenSearch 插件列表 | nil |
OPENSEARCH_TRANSPORT_PORT_NUMBER | OpenSearch 节点端口号 | 9300 |
OPENSEARCH_HTTP_PORT_NUMBER | OpenSearch HTTP 端口 | 9200 |
OPENSEARCH_ACTION_DESTRUCTIVE_REQUIRES_NAME | 启用危险操作需要名称确认 | nil |
OPENSEARCH_ENABLE_SECURITY | 启用 OpenSearch 安全设置 | false |
OPENSEARCH_PASSWORD | "admin" 用户的密码 | bitnami |
OPENSEARCH_TLS_VERIFICATION_MODE | 传输层中的 OpenSearch TLS 验证模式 | full |
OPENSEARCH_TLS_USE_PEM | 使用 PEM 证书配置安全设置 | false |
OPENSEARCH_KEYSTORE_PASSWORD | 包含证书或受密码保护的 PEM 密钥的 OpenSearch 密钥库密码 | nil |
OPENSEARCH_TRUSTSTORE_PASSWORD | OpenSearch 信任库密码 | nil |
OPENSEARCH_KEY_PASSWORD | OpenSearch 节点 PEM 密钥的密码 | nil |
OPENSEARCH_KEYSTORE_LOCATION | 密钥库路径 | ${DB_CERTS_DIR}/opensearch.keystore.jks |
OPENSEARCH_TRUSTSTORE_LOCATION | 信任库路径 | ${DB_CERTS_DIR}/opensearch.truststore.jks |
OPENSEARCH_NODE_CERT_LOCATION | PEM 节点证书路径 | ${DB_CERTS_DIR}/tls.crt |
OPENSEARCH_NODE_KEY_LOCATION | PEM 节点密钥路径 | ${DB_CERTS_DIR}/tls.key |
OPENSEARCH_CA_CERT_LOCATION | CA 证书路径 | ${DB_CERTS_DIR}/ca.crt |
OPENSEARCH_SKIP_TRANSPORT_TLS | 跳过传输层 TLS 配置。在部署单节点集群时很有用 | false |
OPENSEARCH_TRANSPORT_TLS_USE_PEM | 使用 PEM 证书配置传输层 TLS 设置 | $DB_TLS_USE_PEM |
OPENSEARCH_TRANSPORT_TLS_KEYSTORE_PASSWORD | 包含证书或受密码保护的 PEM 密钥的 OpenSearch 传输层 TLS 密钥库密码 | $DB_KEYSTORE_PASSWORD |
OPENSEARCH_TRANSPORT_TLS_TRUSTSTORE_PASSWORD | OpenSearch 传输层 TLS 信任库密码 | $DB_TRUSTSTORE_PASSWORD |
OPENSEARCH_TRANSPORT_TLS_KEY_PASSWORD | OpenSearch 传输层 TLS 节点 PEM 密钥密码 | $DB_KEY_PASSWORD |
OPENSEARCH_TRANSPORT_TLS_KEYSTORE_LOCATION | 传输层 TLS 的密钥库路径 | $DB_KEYSTORE_LOCATION |
OPENSEARCH_TRANSPORT_TLS_TRUSTSTORE_LOCATION | 传输层 TLS 的信任库路径 | $DB_TRUSTSTORE_LOCATION |
OPENSEARCH_TRANSPORT_TLS_NODE_CERT_LOCATION | 传输层 TLS 的 PEM 节点证书路径 | $DB_NODE_CERT_LOCATION |
OPENSEARCH_TRANSPORT_TLS_NODE_KEY_LOCATION | 传输层 TLS 的 PEM 节点密钥路径 | $DB_NODE_KEY_LOCATION |
OPENSEARCH_TRANSPORT_TLS_CA_CERT_LOCATION | 传输层 TLS 的 CA 证书路径 | $DB_CA_CERT_LOCATION |
OPENSEARCH_ENABLE_REST_TLS | 为 REST API 通信启用 TLS 加密 | true |
OPENSEARCH_HTTP_TLS_USE_PEM | 使用 PEM 证书配置 HTTP TLS 设置 | $DB_TLS_USE_PEM |
OPENSEARCH_HTTP_TLS_KEYSTORE_PASSWORD | 包含证书或受密码保护的 PEM 密钥的 OpenSearch HTTP TLS 密钥库密码 | $DB_KEYSTORE_PASSWORD |
OPENSEARCH_HTTP_TLS_TRUSTSTORE_PASSWORD | OpenSearch HTTP TLS 信任库密码 | $DB_TRUSTSTORE_PASSWORD |
OPENSEARCH_HTTP_TLS_KEY_PASSWORD | OpenSearch HTTP TLS 节点 PEM 密钥密码 | $DB_KEY_PASSWORD |
OPENSEARCH_HTTP_TLS_KEYSTORE_LOCATION | HTTP TLS 的密钥库路径 | $DB_KEYSTORE_LOCATION |
OPENSEARCH_HTTP_TLS_TRUSTSTORE_LOCATION | HTTP TLS 的信任库路径 | $DB_TRUSTSTORE_LOCATION |
OPENSEARCH_HTTP_TLS_NODE_CERT_LOCATION | HTTP TLS 的 PEM 节点证书路径 | $DB_NODE_CERT_LOCATION |
OPENSEARCH_HTTP_TLS_NODE_KEY_LOCATION | HTTP TLS 的 PEM 节点密钥路径 | $DB_NODE_KEY_LOCATION |
OPENSEARCH_HTTP_TLS_CA_CERT_LOCATION | HTTP TLS 的 CA 证书路径 | $DB_CA_CERT_LOCATION |
OPENSEARCH_SECURITY_DIR | OpenSearch Security 插件的根目录 | ${DB_PLUGINS_DIR}/opensearch-security |
OPENSEARCH_SECURITY_CONF_DIR | OpenSearch Security 插件的配置目录 | ${DB_CONF_DIR}/opensearch-security |
OPENSEARCH_DASHBOARDS_PASSWORD | OpenSearch-dashboards 用户的密码 | bitnami |
LOGSTASH_PASSWORD | Logstash 用户的密码 | bitnami |
OPENSEARCH_SET_CGROUP | 使用 cgroup 层次结构覆盖配置 OpenSearch java 选项,使 cgroup 统计信息在容器中可用 | true |
OPENSEARCH_SECURITY_BOOTSTRAP | 如果设置为 true,此节点将配置有引导 OpenSearch 安全配置的指令 | false |
OPENSEARCH_SECURITY_NODES_DN | 包含允许的 OpenSearch 节点 TLS DN 的逗号分隔列表 | nil |
OPENSEARCH_SECURITY_ADMIN_DN | 包含允许的 OpenSearch 管理员用户 TLS DN 的逗号分隔列表 | nil |
OPENSEARCH_SECURITY_ADMIN_CERT_LOCATION | OpenSearch 管理员 PEM 证书的路径 | ${DB_CERTS_DIR}/admin.crt |
OPENSEARCH_SECURITY_ADMIN_KEY_LOCATION | OpenSearch 管理员 PEM 密钥的路径 | ${DB_CERTS_DIR}/admin.key |
| 名称 | 描述 | 值 |
|---|---|---|
DB_FLAVOR | 数据库类型。有效值:elasticsearch 或 opensearch | opensearch |
OPENSEARCH_VOLUME_DIR | 持久化基础目录 | /bitnami/opensearch |
OPENSEARCH_BASE_DIR | OpenSearch 安装目录 | /opt/bitnami/opensearch |
OPENSEARCH_CONF_DIR | OpenSearch 配置目录 | ${DB_BASE_DIR}/config |
将 Bitnami 应用部署为 Helm Charts 是在 Kubernetes 上使用我们的应用程序的最简单方法。有关安装的更多信息,请参阅 Bitnami OpenSearch Chart GitHub 仓库。
非 root 容器镜像增加了一层安全性,通常推荐用于生产环境。但是,由于它们以非 root 用户身份运行,通常无法执行特权任务。在我们的 文档 中了解有关非 root 容器的更多信息。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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