本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
OpenSearch 是一个可扩展的开源解决方案,用于搜索、分析和可观测性。它支持全文查询、自然语言处理、自定义词典等功能。
OpenSearch 概述
商标声明:本软件列表由 Bitnami 打包。产品中提及的各个商标分别归各自公司所有,使用这些商标并不意味着任何关联或认可。
Bitnami OpenSearch 镜像是一个预配置、随时可用的容器化版本,旨在简化 OpenSearch 的部署和管理。该镜像遵循行业最佳实践,提供安全、可靠且易于使用的 OpenSearch 环境,适用于开发和生产场景。
docker run --name opensearch bitnami/opensearch:latest
version: '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
启动服务:
docker-compose up -d
推荐的获取 Bitnami OpenSearch Docker 镜像的方法是从 Docker Hub registry 拉取预构建的镜像:
docker pull bitnami/opensearch:latest
如需使用特定版本,可拉取带版本标签的镜像。您可以在 Docker Hub Registry 查看可用版本列表:
docker pull bitnami/opensearch:[TAG]
如果需要,您也可以通过克隆仓库、进入包含 Dockerfile 的目录并执行 docker build 命令来自行构建镜像:
git clone [***] cd bitnami/opensearch/[VERSION]/[OPERATING-SYSTEM] docker build -t bitnami/opensearch:latest .
如果删除容器,所有数据都将丢失,下次运行镜像时应用将重新初始化。为避免数据丢失,应挂载一个即使容器被删除也能持久化的卷。
应在 /bitnami 路径挂载一个目录。如果挂载的目录为空,将在首次运行时初始化:
docker run \ -v /path/to/opensearch-data-persistence:/bitnami/opensearch/data \ bitnami/opensearch:latest
或对仓库中提供的 docker-compose.yml 文件进行微调:
opensearch: ... volumes: - /path/to/opensearch-data-persistence:/bitnami/opensearch/data ...
注意:由于这是一个非 root 容器,挂载的文件和目录必须对 UID
1001具有适当的权限。
还可以使用 OPENSEARCH_DATA_DIR_LIST 环境变量实现多卷数据持久化:
opensearch: ... 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 服务器可以轻松被其他应用容器访问。
连接到同一网络的容器可以使用容器名称作为主机名相互通信。
docker network create app-tier --driver bridge
使用 --network app-tier 参数将 OpenSearch 容器附加到 app-tier 网络:
docker run -d --name opensearch-server \ --network app-tier \ bitnami/opensearch:latest
docker run -d --name myapp \ --network app-tier \ YOUR_APPLICATION_IMAGE
重要提示:
- 请将上述代码段中的 YOUR_APPLICATION_IMAGE 占位符替换为您的应用程序镜像
- 在应用容器中,使用主机名
opensearch-server连接到 OpenSearch 服务器
未指定时,Docker Compose 会自动设置一个新网络并将所有部署的服务附加到该网络。以下示例中,我们显式定义一个名为 app-tier 的新 bridge 网络,并假设您希望从自己的自定义应用程序镜像(在以下代码段中由服务名称 myapp 标识)连接到 OpenSearch 服务器:
version: '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 服务器
启动容器:
docker-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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429